#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 >