Android-cuttlefish cvd tool
Classes | Namespaces | Typedefs | Functions
msg_formatting.h File Reference
#include <algorithm>
#include <stddef.h>
#include <stdint.h>
#include <tuple>
#include <type_traits>
#include <utility>
#include <teeui/utils.h>
Include dependency graph for msg_formatting.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  teeui::msg::Message< fields >
 
class  teeui::msg::StreamState< T >
 
struct  teeui::msg::msg2tuple< T >
 
struct  teeui::msg::msg2tuple< Message< T... > >
 

Namespaces

namespace  teeui
 
namespace  teeui::msg
 

Typedefs

using teeui::msg::WriteStream = StreamState< uint8_t >
 
using teeui::msg::ReadStream = StreamState< const uint8_t >
 
template<typename T >
using teeui::msg::msg2tuple_t = typename msg2tuple< T >::type
 

Functions

template<size_t... idx, typename... T>
std::tuple< std::remove_reference_t< T > &&... > teeui::msg::tuple_move_helper (std::index_sequence< idx... >, std::tuple< T... > &&t)
 
template<typename... T>
std::tuple< std::remove_reference_t< T > &&... > teeui::msg::tuple_move (std::tuple< T... > &&t)
 
template<typename... T>
std::tuple< std::remove_reference_t< T > &&... > teeui::msg::tuple_move (std::tuple< T... > &t)
 
void teeui::msg::zero (volatile uint8_t *begin, const volatile uint8_t *end)
 
void teeui::msg::zero (const volatile uint8_t *, const volatile uint8_t *)
 
WriteStream teeui::msg::write (WriteStream out, const uint8_t *buffer, uint32_t size)
 
template<uint32_t size>
WriteStream teeui::msg::write (WriteStream out, const uint8_t(&v)[size])
 
std::tuple< ReadStream, ReadStream::ptr_t, uint32_t > teeui::msg::read (ReadStream in)
 
template<typename T >
std::tuple< ReadStream, T > teeui::msg::readSimpleType (ReadStream in)
 
WriteStream teeui::msg::write (Message<>, WriteStream out)
 
template<typename Head , typename... Tail>
WriteStream teeui::msg::write (Message< Head, Tail... >, WriteStream out, const Head &head, const Tail &... tail)
 
template<typename... Msg>
std::tuple< ReadStream, Msg... > teeui::msg::read (Message< Msg... >, ReadStream in)
 
template<size_t first_idx, size_t... idx, typename HEAD , typename... T>
std::tuple< T &&... > teeui::msg::tuple_tail (std::index_sequence< first_idx, idx... >, std::tuple< HEAD, T... > &&t)
 
template<size_t first_idx, size_t... idx, typename HEAD , typename... T>
std::tuple< const T &... > teeui::msg::tuple_tail (std::index_sequence< first_idx, idx... >, const std::tuple< HEAD, T... > &t)
 
template<typename HEAD , typename... Tail>
std::tuple< Tail &&... > teeui::msg::tuple_tail (std::tuple< HEAD, Tail... > &&t)
 
template<typename HEAD , typename... Tail>
std::tuple< const Tail &... > teeui::msg::tuple_tail (const std::tuple< HEAD, Tail... > &t)