Bluenet  5.7.0
Bluenet, firmware for nRF52 smart home devices
Loading...
Searching...
No Matches
WireFormat Namespace Reference

Functions

template<class T >
T::SerializedDataType serialize (T &obj)
 
template<class T >
constexpr size_t size (T *=nullptr)
 
template<class T >
deserialize (uint8_t *data, size_t len)
 data will be copied as few times as possible, but the constructed object is not emplaced over the [data] pointer passed as parameter. More...
 
std::array< uint8_t, 1 > serialize (const uint8_t &obj)
 
std::array< uint8_t, 4 > serialize (const uint32_t &obj)
 
std::array< uint8_t, 4 > serialize (const int32_t &obj)
 
std::array< uint8_t, 8 > serialize (const uint64_t &obj)
 
template<>
constexpr size_t size< uint8_t > (uint8_t *)
 
template<>
constexpr size_t size< int32_t > (int32_t *)
 
template<>
constexpr size_t size< uint32_t > (uint32_t *)
 
template<>
constexpr size_t size< uint64_t > (uint64_t *)
 
template<>
constexpr size_t size< const uint8_t > (const uint8_t *)
 
template<>
constexpr size_t size< const int32_t > (const int32_t *)
 
template<>
constexpr size_t size< const uint32_t > (const uint32_t *)
 
template<>
constexpr size_t size< const uint64_t > (const uint64_t *)
 

Function Documentation

◆ deserialize()

template<class T >
T WireFormat::deserialize ( uint8_t *  data,
size_t  len 
)

data will be copied as few times as possible, but the constructed object is not emplaced over the [data] pointer passed as parameter.

  • T must have a subtype called SerializedDataType iterable as uint8_t array
  • T must have a constructor taking T::SerializedDataType as singular parameter
  • the len >= WireFormat::size<T>() must hold, else return value will be default constructed.

◆ serialize() [1/5]

std::array< uint8_t, 4 > WireFormat::serialize ( const int32_t &  obj)

◆ serialize() [2/5]

std::array< uint8_t, 4 > WireFormat::serialize ( const uint32_t &  obj)

◆ serialize() [3/5]

std::array< uint8_t, 8 > WireFormat::serialize ( const uint64_t &  obj)

◆ serialize() [4/5]

std::array< uint8_t, 1 > WireFormat::serialize ( const uint8_t &  obj)

◆ serialize() [5/5]

template<class T >
T::SerializedDataType WireFormat::serialize ( T &  obj)

◆ size()

template<class T >
constexpr size_t WireFormat::size ( T *  = nullptr)
constexpr

◆ size< const int32_t >()

template<>
constexpr size_t WireFormat::size< const int32_t > ( const int32_t *  )
constexpr

◆ size< const uint32_t >()

template<>
constexpr size_t WireFormat::size< const uint32_t > ( const uint32_t *  )
constexpr

◆ size< const uint64_t >()

template<>
constexpr size_t WireFormat::size< const uint64_t > ( const uint64_t *  )
constexpr

◆ size< const uint8_t >()

template<>
constexpr size_t WireFormat::size< const uint8_t > ( const uint8_t *  )
constexpr

◆ size< int32_t >()

template<>
constexpr size_t WireFormat::size< int32_t > ( int32_t *  )
constexpr

◆ size< uint32_t >()

template<>
constexpr size_t WireFormat::size< uint32_t > ( uint32_t *  )
constexpr

◆ size< uint64_t >()

template<>
constexpr size_t WireFormat::size< uint64_t > ( uint64_t *  )
constexpr

◆ size< uint8_t >()

template<>
constexpr size_t WireFormat::size< uint8_t > ( uint8_t *  )
constexpr