Agora C++ API Reference for All Platforms

Protected Member Functions | Protected Attributes | Friends | List of all members
agora::internal::OptionalBase< T > Class Template Reference

## 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 ()
OptionalBase & | operator= (const OptionalBase &other)
OptionalBase & | operator= (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 | ( |  | ) |
| inline protected

## ◆ OptionalBase() [2/7]

template<typename T >

CONSTEXPR agora::internal::OptionalBase< T >::OptionalBase | ( | const OptionalBase< T > & | other | ) |
| inline protected

## ◆ OptionalBase() [3/7]

template<typename T >

CONSTEXPR agora::internal::OptionalBase< T >::OptionalBase | ( | OptionalBase< T > && | other | ) |
| inline protected

## ◆ OptionalBase() [4/7]

template<typename T >
template<class... Args>

CONSTEXPR agora::internal::OptionalBase< T >::OptionalBase | ( | in_place_t | ,
|  | Args &&... | args
| ) |  |
| inline explicit protected

## ◆ OptionalBase() [5/7]

template<typename T >

CONSTEXPR agora::internal::OptionalBase< T >::OptionalBase | ( | in_place_t | ,
|  | const T & | _value
| ) |  |
| inline explicit protected

## ◆ OptionalBase() [6/7]

template<typename T >
template<typename U >

agora::internal::OptionalBase< T >::OptionalBase | ( | const OptionalBase< U > & | other | ) |
| inline explicit protected

## ◆ OptionalBase() [7/7]

template<typename T >
template<typename U >

agora::internal::OptionalBase< T >::OptionalBase | ( | OptionalBase< U > && | other | ) |
| inline explicit protected

## ◆ ~OptionalBase()

template<typename T >

agora::internal::OptionalBase< T >::~OptionalBase | ( |  | ) |
| inline protected

## Member Function Documentation

## ◆ operator=() [1/2]

template<typename T >

OptionalBase& agora::internal::OptionalBase< T >::operator= | ( | const OptionalBase< T > & | other | ) |
| inline protected

## ◆ operator=() [2/2]

template<typename T >

OptionalBase& agora::internal::OptionalBase< T >::operator= | ( | OptionalBase< T > && | other | ) |
| inline protected

## ◆ CopyAssign()

template<typename T >
template<typename U >

void agora::internal::OptionalBase< T >::CopyAssign | ( | const OptionalBase< U > & | other | ) |
| inline protected

## ◆ MoveAssign()

template<typename T >
template<typename U >

void agora::internal::OptionalBase< T >::MoveAssign | ( | OptionalBase< U > && | other | ) |
| inline protected

## ◆ InitOrAssign() [1/2]

template<typename T >
template<typename U >

void agora::internal::OptionalBase< T >::InitOrAssign | ( | U && | value | ) |
| inline protected

## ◆ InitOrAssign() [2/2]

template<typename T >

void agora::internal::OptionalBase< T >::InitOrAssign | ( | const U & | value | ) |
| inline protected

## ◆ FreeIfNeeded()

template<typename T >

void agora::internal::OptionalBase< T >::FreeIfNeeded | ( |  | ) |
| inline protected

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