#include <AgoraOptional.h>
Inherits agora::internal::OptionalBase< T >, agora::internal::CopyConstructible< std::is_copy_constructible< T >::value >, agora::internal::MoveConstructible< std::is_move_constructible< T >::value >, agora::internal::CopyAssignable< std::is_copy_constructible< T >::value &&std::is_copy_assignable< T >::value >, and agora::internal::MoveAssignable< std::is_move_constructible< T >::value &&std::is_move_assignable< T >::value >.
|
| CONSTEXPR | Optional () |
| |
| CONSTEXPR | Optional (const Optional &other) |
| |
| CONSTEXPR | Optional (nullopt_t) |
| |
| template<typename U> |
| | Optional (const Optional< U > &other) |
| |
| template<typename U> |
| | Optional (Optional< U > &&other) |
| |
| template<class... Args> |
| CONSTEXPR | Optional (in_place_t, Args &&... args) |
| |
| template<class U, class... Args> |
| CONSTEXPR | Optional (in_place_t, std::initializer_list< U > il, Args &&... args) |
| |
| CONSTEXPR | Optional (in_place_t, const T &_value) |
| |
| template<class U> |
| CONSTEXPR | Optional (in_place_t, const U il[], const T &_value) |
| |
| template<typename U = value_type> |
| CONSTEXPR | Optional (U &&value) |
| |
| template<typename U> |
| CONSTEXPR | Optional (const U &value) |
| |
| | ~Optional () |
| |
| Optional & | operator= (const Optional &other) |
| |
| Optional & | operator= (nullopt_t) |
| |
| template<typename U> |
| Optional & | operator= (U &&value) |
| |
| Optional & | operator= (const U &value) |
| |
| template<typename U> |
| Optional & | operator= (const Optional< U > &other) |
| |
| template<typename U> |
| Optional & | operator= (Optional< U > &&other) |
| |
| const T * | operator-> () const |
| |
| T * | operator-> () |
| |
| const T & | operator* () const |
| |
| T & | operator* () |
| |
| CONSTEXPR | operator bool () const |
| |
| CONSTEXPR | operator bool () const |
| |
| CONSTEXPR bool | has_value () const |
| |
| const T & | value () const |
| |
| template<class U> |
| CONSTEXPR T | value_or (U &&default_value) const |
| |
| CONSTEXPR T | value_or (const U &default_value) const |
| |
| const T & | value () const & |
| |
| const T && | value () const && |
| |
| template<class U> |
| CONSTEXPR T | value_or (U &&default_value) const & |
| |
| CONSTEXPR T | value_or (const U &default_value) const & |
| |
| template<class U> |
| CONSTEXPR T | value_or (U &&default_value) const && |
| |
| void | swap (Optional &other) |
| |
| void | reset () |
| |
| template<class... Args> |
| T & | emplace (Args &&... args) |
| |
| template<class U, class... Args> |
| T & | emplace (std::initializer_list< U > il, Args &&... args) |
| |
| T & | emplace (const T &_value) |
| |
| template<class U> |
| T & | emplace (const U il[], const T &_value) |
| |
◆ value_type
◆ Optional() [1/11]
◆ Optional() [2/11]
◆ Optional() [3/11]
◆ Optional() [4/11]
template<typename T>
template<typename U>
◆ Optional() [5/11]
template<typename T>
template<typename U>
◆ Optional() [6/11]
template<typename T>
template<class... Args>
◆ Optional() [7/11]
template<typename T>
template<class U, class... Args>
◆ Optional() [8/11]
◆ Optional() [9/11]
template<typename T>
template<class U>
◆ Optional() [10/11]
template<typename T>
template<typename U = value_type>
◆ Optional() [11/11]
template<typename T>
template<typename U>
◆ ~Optional()
◆ operator=() [1/6]
◆ operator=() [2/6]
◆ operator=() [3/6]
template<typename T>
template<typename U>
◆ operator=() [4/6]
◆ operator=() [5/6]
template<typename T>
template<typename U>
◆ operator=() [6/6]
template<typename T>
template<typename U>
◆ operator->() [1/2]
◆ operator->() [2/2]
◆ operator*() [1/2]
◆ operator*() [2/2]
◆ operator bool() [1/2]
◆ operator bool() [2/2]
◆ has_value()
◆ value() [1/3]
◆ value_or() [1/5]
template<typename T>
template<class U>
◆ value_or() [2/5]
template<typename T>
| CONSTEXPR T agora::Optional< T >::value_or |
( |
const U & | default_value | ) |
const |
|
inline |
◆ value() [2/3]
◆ value() [3/3]
◆ value_or() [3/5]
template<typename T>
template<class U>
◆ value_or() [4/5]
template<typename T>
| CONSTEXPR T agora::Optional< T >::value_or |
( |
const U & | default_value | ) |
const & |
|
inline |
◆ value_or() [5/5]
template<typename T>
template<class U>
◆ swap()
◆ reset()
◆ emplace() [1/4]
template<typename T>
template<class... Args>
◆ emplace() [2/4]
template<typename T>
template<class U, class... Args>
| T & agora::Optional< T >::emplace |
( |
std::initializer_list< U > | il, |
|
|
Args &&... | args ) |
|
inline |
◆ emplace() [3/4]
◆ emplace() [4/4]
template<typename T>
template<class U>