|
|
template<typename T1 > |
| | typed_storage (const T1 &t1) |
| | Constructs the instance of T with type T1.
|
| |
|
template<typename T1 , typename T2 > |
| | typed_storage (const T1 &t1, const T2 &t2) |
| | Constructs the instance of T with types T1, T2.
|
| |
|
template<typename T1 , typename T2 , typename T3 > |
| | typed_storage (const T1 &t1, const T2 &t2, const T3 &t3) |
| | Constructs the instance of T with types T1, T2, T3.
|
| |
|
template<typename T1 , typename T2 , typename T3 , typename T4 > |
| | typed_storage (const T1 &t1, const T2 &t2, const T3 &t3, const T4 &t4) |
| | Constructs the instance of T with types T1, T2, T3, T4.
|
| |
| | ~typed_storage () ETL_NOEXCEPT |
| |
| bool | has_value () const ETL_NOEXCEPT |
| |
| template<typename T1 > |
| reference | create (const T1 &t1) |
| |
| template<typename T1 , typename T2 > |
| reference | create (const T1 &t1, const T2 &t2) |
| |
| template<typename T1 , typename T2 , typename T3 > |
| reference | create (const T1 &t1, const T2 &t2, const T3 &t3) |
| |
| template<typename T1 , typename T2 , typename T3 , typename T4 > |
| reference | create (const T1 &t1, const T2 &t2, const T3 &t3, const T4 &t4) |
| |
|
void | destroy () ETL_NOEXCEPT |
| | Calls the destructor of the stored object, if created.
|
| |
| pointer | operator-> () ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS) |
| |
| const_pointer | operator-> () const ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS) |
| |
| reference | operator* () ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS) |
| |
| const_reference | operator* () const ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS) |
| |
template<
typename T>
class etl::typed_storage< T >
Wrapper class that provides a memory area and lets the user create an instance of T in this memory at runtime. This class also erases the destructor call of T, i.e. if typed_storage goes out of scope, the destructor if the wrapped type will not be called. This can be done explicitly by calling destroy().
- Template Parameters
-