OptDefaultStorage< T > Class Template Reference

#include <optional.h>

公共成员函数

  OptDefaultStorage ()
  OptDefaultStorage ( NO_VALUE_TYPE )
OptDefaultStorage operator= ( NO_VALUE_TYPE )
template<typename U , typename = typename std::enable_if<STD_IS_REPLACEMENT(constructible, T, const U&)>::type>
  OptDefaultStorage (const OptDefaultStorage < U > & src )
template<typename U , typename = typename std::enable_if<STD_IS_REPLACEMENT(assignable, T, const U&)>::type>
OptDefaultStorage operator= (const OptDefaultStorage < U > & src )
template<typename U , typename = typename std::enable_if<STD_IS_REPLACEMENT(constructible, T, U&&)>::type>
  OptDefaultStorage ( OptDefaultStorage < U > && src )
template<typename U , typename = typename std::enable_if<STD_IS_REPLACEMENT(assignable, T, U&&)>::type>
OptDefaultStorage operator= ( OptDefaultStorage < U > && src )
template<typename U >
  OptDefaultStorage (U &&value)
template<typename U >
OptDefaultStorage operator= (U &&value)
template<typename ... ARGS>
  OptDefaultStorage ( IN_PLACE_TYPE , ARGS &&... args)
template<typename ... ARGS>
void  Emplace (ARGS &&... args)
Result < void >  CopyFrom (const OptDefaultStorage & src )
  ~OptDefaultStorage ()
T &  GetValueRef ()
const T &  GetValueRef () const
Bool   HasValue () const

Public Attributes

return *  this
_valueStorage

私有成员函数

template<typename U >
void  CopyConstruct (const OptDefaultStorage < U > & src )
template<typename U >
void  CopyAssign (const OptDefaultStorage < U > & src )
template<typename U >
void  MoveConstruct ( OptDefaultStorage < U > && src )
template<typename U >
void  MoveAssign ( OptDefaultStorage < U > && src )
void  ClearValue ()
void  Destruct ()

Private Attributes

Bool   _hasValue
union {
   T    _valueStorage
}; 

构造函数 & 析构函数文档编制

◆  OptDefaultStorage() [1/6]

OptDefaultStorage ( )

◆  OptDefaultStorage() [2/6]

OptDefaultStorage ( NO_VALUE_TYPE   )
explicit

◆  OptDefaultStorage() [3/6]

OptDefaultStorage ( const OptDefaultStorage < U > &  src )

◆  OptDefaultStorage() [4/6]

OptDefaultStorage ( OptDefaultStorage < U > &&  src )

◆  OptDefaultStorage() [5/6]

OptDefaultStorage ( U &&  value )
explicit

◆  OptDefaultStorage() [6/6]

OptDefaultStorage ( IN_PLACE_TYPE   ,
ARGS &&...  args  
)
explicit

◆  ~OptDefaultStorage()

~ OptDefaultStorage ( )

成员函数文档编制

◆  operator=() [1/4]

OptDefaultStorage & operator= ( NO_VALUE_TYPE   )

◆  operator=() [2/4]

OptDefaultStorage & operator= ( const OptDefaultStorage < U > &  src )

◆  operator=() [3/4]

OptDefaultStorage & operator= ( OptDefaultStorage < U > &&  src )

◆  operator=() [4/4]

OptDefaultStorage & operator= ( U &&  value )

◆  Emplace()

void Emplace ( ARGS &&...  args )

◆  CopyFrom()

Result <void> CopyFrom ( const OptDefaultStorage < T > &  src )

◆  GetValueRef() [1/2]

T& GetValueRef ( )

◆  GetValueRef() [2/2]

const T& GetValueRef ( ) const

◆  HasValue()

Bool HasValue ( ) const

◆  CopyConstruct()

void CopyConstruct ( const OptDefaultStorage < U > &  src )
private

◆  CopyAssign()

void CopyAssign ( const OptDefaultStorage < U > &  src )
private

◆  MoveConstruct()

void MoveConstruct ( OptDefaultStorage < U > &&  src )
private

◆  MoveAssign()

void MoveAssign ( OptDefaultStorage < U > &&  src )
private

◆  ClearValue()

void ClearValue ( )
private

◆  Destruct()

void Destruct ( )
private

Member Data Documentation

◆  this

return * this

◆  _hasValue

Bool _hasValue
private

◆  _valueStorage

T _valueStorage

◆  @1083

union { ... }