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