A C++ template library for embedded applications
MIT licensed
Designed and
maintained by
John Wellbelove

packet


A class that can contain one of several related types.
STL equivalent: none

etl::packet<typename TBase, size_t SIZE, size_t ALIGNMENT>

TBase     The base class for all objects. The destructor must be virtual.
SIZE      The size of the largest type.
ALIGNMENT The largest alignment of all of the types.


____________________________________________________________________________________________________

Member types


base_t    TBase


____________________________________________________________________________________________________

Contructor


C++03

template <typename T>
explicit packet(const T& value)

C++11

template <typename T>
explicit packet(T&& value)

Constructs an object of type T with the supplied value.
Static asserts on any type that does not derive from TBase.
Static asserts on any type that does not conform to the maximum size and alignment.

____________________________________________________________________________________________________

Destructor


~packet()

Destructs the contained object

____________________________________________________________________________________________________

Operator


C++03

template <typename T>
packet& operator =(const T& value)

C++11

template <typename T>
packet& operator =(T&& value)

Assigns a new object to the packet.
The previous object is destructed.

____________________________________________________________________________________________________

Access


const TBase& get() const

Returns a const reference to the contained object.

packet.h