|
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) |
|
template<typename T>
class etl::optional< T, false >
For non POD types.