emlabcpp
modern opinionated embedded C++ library
|
tuple is high levle alternative to use just 'std::tuple' that is more friendly for standalone protocols. More...
#include <tuple.h>
Public Types | |
template<typename... SubDs> | |
using | with_items = tuple< Endianess, Ds..., SubDs... > |
using | def_tuple = std::tuple< Ds... > |
template<std::size_t N> | |
using | nth_def = std::tuple_element_t< N, def_tuple > |
using | def_type = endianess_wrapper< Endianess, def_tuple > |
using | traits = proto_traits< def_type > |
using | value_type = typename traits::value_type |
using | message_type = message< max_size > |
Static Public Member Functions | |
constexpr static value_type | make_val (typename proto_traits< Ds >::value_type const &... args) |
Static Public Attributes | |
static constexpr std::size_t | max_size = traits::max_size |
tuple is high levle alternative to use just 'std::tuple' that is more friendly for standalone protocols.
It is designed for message that are simply a set of serialized items. It also provieds more readable syntax. The template arguments at first configurate the protocol and later is follow by items present in the tuple, this can also be added with tuple::with_items alias that appends the items. For example: tuple< BIG_ENDIAN >::with_items< uint32_t, uint32_t >; serializes/deserializes in same way as 'std::tuple<uint32_t,uint32_t>' configured for big endianess.
using emlabcpp::protocol::tuple< Endianess, Ds >::def_tuple = std::tuple< Ds... > |
using emlabcpp::protocol::tuple< Endianess, Ds >::def_type = endianess_wrapper< Endianess, def_tuple > |
using emlabcpp::protocol::tuple< Endianess, Ds >::message_type = message< max_size > |
using emlabcpp::protocol::tuple< Endianess, Ds >::nth_def = std::tuple_element_t< N, def_tuple > |
using emlabcpp::protocol::tuple< Endianess, Ds >::traits = proto_traits< def_type > |
using emlabcpp::protocol::tuple< Endianess, Ds >::value_type = typename traits::value_type |
using emlabcpp::protocol::tuple< Endianess, Ds >::with_items = tuple< Endianess, Ds..., SubDs... > |
|
inlinestaticconstexpr |
References emlabcpp::args.
|
staticconstexpr |