A C++ template library for embedded applications
Designed and maintained by
Aster Consulting Ltd

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.


Contructor

template <typename T>
explicit packet(const 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

template <typename T>
packet& operator =(const 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