CppSerdes  1.0
A serialization/deserialization library designed with embedded systems in mind
serdes::delimited_array< T > Struct Template Reference

a container for dynamically sized arrays with their ending marked by a reserved delimiter value More...

#include <serdes_format_modifiers.h>

Public Member Functions

template<size_t max_elements>
 delimited_array (T(&v)[max_elements], T &d) noexcept
 Construct a new delimited array object using a referenced array and referenced delimiter. More...
 
template<size_t max_elements>
 delimited_array (T(&v)[max_elements], const T &&d) noexcept
 Construct a new delimited array object using a referenced array and rvalue delimiter. More...
 
 delimited_array (T *v, T &d, size_t max_elements) noexcept
 Construct a new delimited array object using a pointer to an array, a referenced delimiter, and a max size. More...
 
 delimited_array (T *v, const T &&d, size_t max_elements) noexcept
 Construct a new delimited array object using a pointer to an array, a rvalue delimiter, and a max size. More...
 

Public Attributes

T * value
 pointer to the head of the array
 
const T & delimiter
 reference to a reserved delimiter value marking the end of the array
 
const size_t max_size
 maximum size of the array (used for bounds checking)
 

Detailed Description

template<typename T>
struct serdes::delimited_array< T >

a container for dynamically sized arrays with their ending marked by a reserved delimiter value

Template Parameters
Tthe type of an array element
Examples:
07_delimited_arrays.cpp.

Constructor & Destructor Documentation

template<typename T>
template<size_t max_elements>
serdes::delimited_array< T >::delimited_array ( T(&)  v[max_elements],
T &  d 
)
inlinenoexcept

Construct a new delimited array object using a referenced array and referenced delimiter.

Template Parameters
max_elementsmaximum size of the array
Parameters
vreference to the underlying array
dthe delimiter value
template<typename T>
template<size_t max_elements>
serdes::delimited_array< T >::delimited_array ( T(&)  v[max_elements],
const T &&  d 
)
inlinenoexcept

Construct a new delimited array object using a referenced array and rvalue delimiter.

Template Parameters
max_elementsmaximum size of the array
Parameters
vreference to the underlying array
dthe delimiter value
template<typename T>
serdes::delimited_array< T >::delimited_array ( T *  v,
T &  d,
size_t  max_elements 
)
inlinenoexcept

Construct a new delimited array object using a pointer to an array, a referenced delimiter, and a max size.

Parameters
vpointer to the underlying array
dthe delimiter value
max_elementsmaximum size of the array
template<typename T>
serdes::delimited_array< T >::delimited_array ( T *  v,
const T &&  d,
size_t  max_elements 
)
inlinenoexcept

Construct a new delimited array object using a pointer to an array, a rvalue delimiter, and a max size.

Parameters
vpointer to the underlying array
dthe delimiter value
max_elementsmaximum size of the array

The documentation for this struct was generated from the following file: