|
constexpr | optional (nullopt_t) noexcept |
|
| optional (const optional &rhs) |
|
| optional (optional &&rhs) noexcept(is_nothrow_move_constructible< T >::value) |
|
constexpr | optional (const T &v) |
|
constexpr | optional (T &&v) |
|
template<class... Args> |
constexpr | optional (in_place_t, Args &&...args) |
|
template<class U , class... Args, TR2_OPTIONAL_REQUIRES(is_constructible< T, std::initializer_list< U >>) > |
OPTIONAL_CONSTEXPR_INIT_LIST | optional (in_place_t, std::initializer_list< U > il, Args &&...args) |
|
optional & | operator= (nullopt_t) noexcept |
|
optional & | operator= (const optional &rhs) |
|
optional & | operator= (optional &&rhs) noexcept(is_nothrow_move_assignable< T >::value &&is_nothrow_move_constructible< T >::value) |
|
template<class U > |
auto | operator= (U &&v) -> typename enable_if< is_same< typename decay< U >::type, T >::value, optional & >::type |
|
template<class... Args> |
void | emplace (Args &&...args) |
|
template<class U , class... Args> |
void | emplace (initializer_list< U > il, Args &&...args) |
|
void | swap (optional< T > &rhs) noexcept(is_nothrow_move_constructible< T >::value &&noexcept(swap(declval< T & >(), declval< T & >()))) |
|
constexpr | operator bool () const noexcept |
|
constexpr T const * | operator-> () const |
|
T * | operator-> () |
|
constexpr T const & | operator* () const |
|
T & | operator* () |
|
constexpr T const & | value () const |
|
T & | value () |
|
template<class V > |
constexpr T | value_or (V &&v) const |
|
The documentation for this class was generated from the following file: