Agora C++ API Reference for All Platforms
agora::internal::OptionalStorage< T > Struct Template Reference

#include <AgoraOptional.h>

Inherits agora::internal::OptionalStorageBase< T >.

Public Member Functions

template<class... Args>
CONSTEXPR OptionalStorage (in_place_t in_place, Args &&... args)
 
CONSTEXPR OptionalStorage (in_place_t in_place, const T &_value)
 
 OptionalStorage ()
 
 OptionalStorage (const OptionalStorage &other)
 
 OptionalStorage (OptionalStorage &&other) NOEXCEPT(std
 
- Public Member Functions inherited from agora::internal::OptionalStorageBase< T >
CONSTEXPR OptionalStorageBase ()
 
template<class... Args>
CONSTEXPR OptionalStorageBase (in_place_t, Args &&... args)
 
CONSTEXPR OptionalStorageBase (in_place_t, const T &_value)
 
 ~OptionalStorageBase ()
 
template<class... Args>
void Init (Args &&... args)
 
void Init (const T &_value)
 

Additional Inherited Members

- Public Attributes inherited from agora::internal::OptionalStorageBase< T >
bool is_populated_
 
union {
   char   empty_
 
   T   value_
 
}; 
 

Constructor & Destructor Documentation

◆ OptionalStorage() [1/5]

template<typename T >
template<class... Args>
CONSTEXPR agora::internal::OptionalStorage< T >::OptionalStorage ( in_place_t  in_place,
Args &&...  args 
)
inlineexplicit

◆ OptionalStorage() [2/5]

template<typename T >
CONSTEXPR agora::internal::OptionalStorage< T >::OptionalStorage ( in_place_t  in_place,
const T &  _value 
)
inlineexplicit

◆ OptionalStorage() [3/5]

template<typename T >
agora::internal::OptionalStorage< T >::OptionalStorage ( )
inline

◆ OptionalStorage() [4/5]

template<typename T >
agora::internal::OptionalStorage< T >::OptionalStorage ( const OptionalStorage< T > &  other)
inline

◆ OptionalStorage() [5/5]

template<typename T >
agora::internal::OptionalStorage< T >::OptionalStorage ( OptionalStorage< T > &&  other)
inline