Embedded Template Library 1.0
Loading...
Searching...
No Matches
etl::private_optional::optional_impl< T, false > Class Template Reference

Public Member Functions

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_impl &other)
 Swaps this value with another.
ETL_CONSTEXPR20_STL void reset ()
 Reset back to invalid.
ETL_CONSTEXPR20_STL T & emplace (const optional_impl< T > &other)
T & emplace ()
template<typename T1>
etl::enable_if<!etl::is_base_of< this_type, typenameetl::remove_cv< typenameetl::remove_reference< T1 >::type >::type >::value &&!etl::is_same< etl::optional< T >, typenameetl::remove_cv< typenameetl::remove_reference< T1 >::type >::type >::value, T & >::type 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)

Protected Types

typedef T value_type
typedef optional_impl< T, false > this_type

Protected Member Functions

ETL_CONSTEXPR20_STL optional_impl ()
 Constructor.
ETL_CONSTEXPR20_STL optional_impl (etl::nullopt_t)
 Constructor with nullopt.
ETL_CONSTEXPR20_STL optional_impl (const optional_impl< T > &other)
 Copy constructor.
ETL_CONSTEXPR20_STL ~optional_impl ()
 Destructor.
ETL_CONSTEXPR20_STL optional_imploperator= (etl::nullopt_t)
 Assignment operator from nullopt.
ETL_CONSTEXPR20_STL optional_imploperator= (const optional_impl< T > &other)
 Assignment operator from optional_impl.
ETL_CONSTEXPR20_STL optional_imploperator= (const T &value_)
 Assignment operator from value type.

Member Function Documentation

◆ emplace() [1/5]

template<typename T>
T & etl::private_optional::optional_impl< T, false >::emplace ( )
inline

Emplaces a value. 0 parameters.

◆ emplace() [2/5]

template<typename T>
template<typename T1>
etl::enable_if<!etl::is_base_of< this_type, typenameetl::remove_cv< typenameetl::remove_reference< T1 >::type >::type >::value &&!etl::is_same< etl::optional< T >, typenameetl::remove_cv< typenameetl::remove_reference< T1 >::type >::type >::value, T & >::type etl::private_optional::optional_impl< T, false >::emplace ( const T1 & value1)
inline

Emplaces a value. 1 parameter.

◆ emplace() [3/5]

template<typename T>
template<typename T1, typename T2>
T & etl::private_optional::optional_impl< T, false >::emplace ( const T1 & value1,
const T2 & value2 )
inline

Emplaces a value. 2 parameters.

◆ emplace() [4/5]

template<typename T>
template<typename T1, typename T2, typename T3>
T & etl::private_optional::optional_impl< T, false >::emplace ( const T1 & value1,
const T2 & value2,
const T3 & value3 )
inline

Emplaces a value. 3 parameters.

◆ emplace() [5/5]

template<typename T>
template<typename T1, typename T2, typename T3, typename T4>
T & etl::private_optional::optional_impl< T, false >::emplace ( const T1 & value1,
const T2 & value2,
const T3 & value3,
const T4 & value4 )
inline

Emplaces a value. 4 parameters.


The documentation for this class was generated from the following file: