emlabcpp
modern opinionated embedded C++ library
traits.h File Reference
#include "../experimental/decompose.h"
#include "../quantity.h"
#include "../static_vector.h"
#include "../types.h"
#include "./base.h"
#include "./error.h"
#include "./message.h"
#include <chrono>
#include <optional>
#include <variant>
+ Include dependency graph for traits.h:

Go to the source code of this file.

Classes

struct  emlabcpp::protocol::proto_traits< D >
 
struct  emlabcpp::protocol::proto_traits< std::array< D, N > >
 
struct  emlabcpp::protocol::proto_traits< std::tuple< Ds... > >
 
struct  emlabcpp::protocol::proto_traits< std::variant< Ds... > >
 
struct  emlabcpp::protocol::proto_traits< std::monostate >
 
struct  emlabcpp::protocol::proto_traits< std::bitset< N > >
 
struct  emlabcpp::protocol::proto_traits< sizeless_message< N > >
 
struct  emlabcpp::protocol::proto_traits< message< N > >
 
struct  emlabcpp::protocol::proto_traits< value_offset< D, Offset > >
 
struct  emlabcpp::protocol::proto_traits< bounded< D, Min, Max > >
 
struct  emlabcpp::protocol::proto_traits< sized_buffer< CounterType, D > >
 
struct  emlabcpp::protocol::proto_traits< tag< V > >
 
struct  emlabcpp::protocol::proto_traits< group< Ds... > >
 
struct  emlabcpp::protocol::proto_traits< tag_group< Ds... > >
 
struct  emlabcpp::protocol::proto_traits< endianess_wrapper< Endianess, D > >
 
struct  emlabcpp::protocol::proto_traits< string_buffer< N > >
 
struct  emlabcpp::protocol::proto_traits< std::chrono::duration< Rep, Ratio > >
 
struct  emlabcpp::protocol::proto_traits< error_record >
 
struct  emlabcpp::protocol::proto_traits< static_vector< T, N > >
 
struct  emlabcpp::protocol::proto_traits< std::optional< T > >
 
struct  emlabcpp::protocol::backup_proto_traits< T >
 

Namespaces

 emlabcpp
 MIT License.
 
 emlabcpp::protocol
 MIT License.
 

Typedefs

template<typename D >
using emlabcpp::protocol::traits_for = decltype(traits_for_impl< D >())
 

Functions

template<typename D >
consteval auto emlabcpp::protocol::traits_for_impl ()
 

Variables

template<typename D >
concept emlabcpp::protocol::convertible
 This concepts limits types to types that can be declared, that is the overload of 'traits_for' is fully defined: traits_for::value_type contains definition of value produced by the declaration, traits_for::max_size contains estimated maximal size in bytes taken by the serialized value in the message. More...
 
template<typename T >
concept emlabcpp::protocol::fixedly_sized = traits_for< T >::min_size == traits_for< T >::max_size