Agora C++ API Reference for All Platforms
agora::internal::OptionalBase< T > Class Template Reference

#include <AgoraOptional.h>

Inherited by agora::Optional< T >.

Protected Member Functions

CONSTEXPR OptionalBase ()
 
CONSTEXPR OptionalBase (const OptionalBase &other)
 
CONSTEXPR OptionalBase (OptionalBase &&other)
 
template<class... Args>
CONSTEXPR OptionalBase (in_place_t, Args &&... args)
 
CONSTEXPR OptionalBase (in_place_t, const T &_value)
 
template<typename U >
 OptionalBase (const OptionalBase< U > &other)
 
template<typename U >
 OptionalBase (OptionalBase< U > &&other)
 
 ~OptionalBase ()
 
OptionalBaseoperator= (const OptionalBase &other)
 
OptionalBaseoperator= (OptionalBase &&other) NOEXCEPT(std
 
template<typename U >
void CopyAssign (const OptionalBase< U > &other)
 
template<typename U >
void MoveAssign (OptionalBase< U > &&other)
 
template<typename U >
void InitOrAssign (U &&value)
 
void InitOrAssign (const U &value)
 
void FreeIfNeeded ()
 

Protected Attributes

OptionalStorage< T > storage_
 

Friends

template<typename U >
class OptionalBase
 

Constructor & Destructor Documentation

◆ OptionalBase() [1/7]

template<typename T >
CONSTEXPR agora::internal::OptionalBase< T >::OptionalBase ( )
inlineprotected

◆ OptionalBase() [2/7]

template<typename T >
CONSTEXPR agora::internal::OptionalBase< T >::OptionalBase ( const OptionalBase< T > &  other)
inlineprotected

◆ OptionalBase() [3/7]

template<typename T >
CONSTEXPR agora::internal::OptionalBase< T >::OptionalBase ( OptionalBase< T > &&  other)
inlineprotected

◆ OptionalBase() [4/7]

template<typename T >
template<class... Args>
CONSTEXPR agora::internal::OptionalBase< T >::OptionalBase ( in_place_t  ,
Args &&...  args 
)
inlineexplicitprotected

◆ OptionalBase() [5/7]

template<typename T >
CONSTEXPR agora::internal::OptionalBase< T >::OptionalBase ( in_place_t  ,
const T &  _value 
)
inlineexplicitprotected

◆ OptionalBase() [6/7]

template<typename T >
template<typename U >
agora::internal::OptionalBase< T >::OptionalBase ( const OptionalBase< U > &  other)
inlineexplicitprotected

◆ OptionalBase() [7/7]

template<typename T >
template<typename U >
agora::internal::OptionalBase< T >::OptionalBase ( OptionalBase< U > &&  other)
inlineexplicitprotected

◆ ~OptionalBase()

template<typename T >
agora::internal::OptionalBase< T >::~OptionalBase ( )
inlineprotected

Member Function Documentation

◆ operator=() [1/2]

template<typename T >
OptionalBase & agora::internal::OptionalBase< T >::operator= ( const OptionalBase< T > &  other)
inlineprotected

◆ operator=() [2/2]

template<typename T >
OptionalBase & agora::internal::OptionalBase< T >::operator= ( OptionalBase< T > &&  other)
inlineprotected

◆ CopyAssign()

template<typename T >
template<typename U >
void agora::internal::OptionalBase< T >::CopyAssign ( const OptionalBase< U > &  other)
inlineprotected

◆ MoveAssign()

template<typename T >
template<typename U >
void agora::internal::OptionalBase< T >::MoveAssign ( OptionalBase< U > &&  other)
inlineprotected

◆ InitOrAssign() [1/2]

template<typename T >
template<typename U >
void agora::internal::OptionalBase< T >::InitOrAssign ( U &&  value)
inlineprotected

◆ InitOrAssign() [2/2]

template<typename T >
void agora::internal::OptionalBase< T >::InitOrAssign ( const U &  value)
inlineprotected

◆ FreeIfNeeded()

template<typename T >
void agora::internal::OptionalBase< T >::FreeIfNeeded ( )
inlineprotected

Friends And Related Function Documentation

◆ OptionalBase

template<typename T >
template<typename U >
friend class OptionalBase
friend

Member Data Documentation

◆ storage_

template<typename T >
OptionalStorage<T> agora::internal::OptionalBase< T >::storage_
protected