emlabcpp
modern opinionated embedded C++ library
converter.h File Reference
#include "../algorithm.h"
#include "../assert.h"
#include "../visit.h"
#include "./serializer.h"
#include "./traits.h"
+ Include dependency graph for converter.h:

Go to the source code of this file.

Classes

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

Namespaces

 emlabcpp
 MIT License.
 
 emlabcpp::protocol
 MIT License.
 

Typedefs

template<typename D , std::endian E>
using emlabcpp::protocol::converter_for = decltype(converter_for_impl< D, E >())
 

Functions

template<typename D , std::endian E>
auto emlabcpp::protocol::converter_for_impl ()
 
template<typename D , std::endian E, typename T >
std::size_t emlabcpp::protocol::serialize_range (std::span< std::byte > const buffer, view< T const * > const &data)
 
template<typename D , std::endian E, typename T >
conversion_result emlabcpp::protocol::deserialize_range (std::span< std::byte const > const &buffer, view< T * > const &data)
 

Variables

template<typename T >
concept emlabcpp::protocol::converter_check
 converter_check<T> concept verifies that 'T' is valid overload of converter. More...