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


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.


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.


Destructs the contained object


template <typename T>
packet& operator =(const T& value)
Assigns a new object to the packet.
The previous object is destructed.


const TBase& get() const
Returns a const reference to the contained object.