template<typename T>
struct fennec::optional< T >
- Template Parameters
-
|
|
|
constexpr | optional () |
| | Default Constructor.
|
| |
|
constexpr | optional (nullopt_t) |
| | Default Constructor.
|
| |
| constexpr | optional (const T &val) |
| | Type Copy Constructor.
|
| |
| constexpr | optional (T &&val) |
| | Type Move Constructor.
|
| |
| constexpr | optional (const optional &opt) |
| | Copy Constructor.
|
| |
| constexpr | optional (optional &&opt) noexcept |
| | Move Constructor.
|
| |
|
|
constexpr | operator bool () const |
| | Implicit Boolean Check, returns true when there is a value contained.
|
| |
| constexpr bool | empty () const |
| |
|
| constexpr optional & | operator= (nullopt_t) |
| | Fundamental Type Assignment.
|
| |
| constexpr optional & | operator= (const T &val) and is_copy_assignable_v< T > |
| | Type Copy Assignment.
|
| |
| constexpr optional & | operator= (T &&val) and is_move_assignable_v< T > |
| | Type Move Assignment.
|
| |
| constexpr optional & | operator= (const optional &opt) and is_copy_assignable_v< T > |
| | Copy Assignment.
|
| |
| constexpr optional & | operator= (optional &&opt) noexcept and is_move_assignable_v< T > |
| | Move Assignment.
|
| |
|
| constexpr pointer_t | operator-> () noexcept |
| |
| constexpr const_pointer_t | operator-> () const noexcept |
| |
| constexpr T & | operator* () &noexcept |
| | Dereference Operator.
|
| |
| constexpr const T & | operator* () const &noexcept |
| | Const Dereference Operator.
|
| |
| constexpr T && | operator* () &&noexcept |
| | Dereference Operator.
|
| |
| constexpr const T && | operator* () const &&noexcept |
| | Const Dereference Operator.
|
| |
|
| constexpr T & | emplace (T &&val) |
| | Emplace Assignment, Move overload.
|
| |
| constexpr T & | emplace (const T &val) |
| | Emplace Assignment, Copy overload.
|
| |
| template<typename... ArgsT> |
| constexpr T & | emplace (ArgsT &&...args) |
| | Emplace Assignment.
|
| |
|
void | reset () |
| | Reset the Optional.
|
| |