|
Embedded Template Library 1.0
|
For non POD types. More...
#include <optional.h>
Public Member Functions | |
| ETL_CONSTEXPR | optional () |
| Constructor. | |
| ETL_CONSTEXPR | optional (etl::nullopt_t) |
| Constructor with nullopt. | |
| ETL_CONSTEXPR20_STL | optional (const optional &other) |
| Copy constructor. | |
| ETL_CONSTEXPR20_STL | optional (const T &value_) |
| Constructor from value type. | |
| ETL_CONSTEXPR20_STL | ~optional () |
| Destructor. | |
| ETL_CONSTEXPR20_STL optional & | operator= (etl::nullopt_t) |
| Assignment operator from nullopt. | |
| ETL_CONSTEXPR20_STL optional & | operator= (const optional &other) |
| Assignment operator from optional. | |
| ETL_CONSTEXPR20_STL optional & | operator= (const T &value_) |
| Assignment operator from value type. | |
| ETL_CONSTEXPR20_STL T * | operator-> () |
| Pointer operator. | |
| ETL_CONSTEXPR20_STL const T * | operator-> () const |
| Pointer operator. | |
| ETL_CONSTEXPR20_STL T & | operator* () ETL_LVALUE_REF_QUALIFIER |
| Dereference operator. | |
| ETL_CONSTEXPR20_STL const T & | operator* () const ETL_LVALUE_REF_QUALIFIER |
| Dereference operator. | |
| ETL_CONSTEXPR20_STL bool | has_value () const ETL_NOEXCEPT |
| ETL_CONSTEXPR20_STL ETL_EXPLICIT | operator bool () const |
| Bool conversion operator. | |
| ETL_CONSTEXPR20_STL T & | value () ETL_LVALUE_REF_QUALIFIER |
| Get a reference to the value. | |
| ETL_CONSTEXPR20_STL const T & | value () const ETL_LVALUE_REF_QUALIFIER |
| Get a const reference to the value. | |
| ETL_CONSTEXPR20_STL T | value_or (const T &default_value) const ETL_LVALUE_REF_QUALIFIER |
| Gets the value or a default if not valid. | |
| ETL_CONSTEXPR20_STL void | swap (optional &other) |
| Swaps this value with another. | |
| ETL_CONSTEXPR20_STL void | reset () |
| Reset back to invalid. | |
| template<typename T1 > | |
| T & | emplace (const T1 &value1) |
| template<typename T1 , typename T2 > | |
| T & | emplace (const T1 &value1, const T2 &value2) |
| template<typename T1 , typename T2 , typename T3 > | |
| T & | emplace (const T1 &value1, const T2 &value2, const T3 &value3) |
| template<typename T1 , typename T2 , typename T3 , typename T4 > | |
| T & | emplace (const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4) |
Emplaces a value. 2 parameters.
|
inline |
Emplaces a value. 3 parameters.
|
inline |
Emplaces a value. 4 parameters.