TupleStorage< T > Class Template Reference

#include <tuple.h>

Inheritance diagram for TupleStorage< T >:

公共成员函数

  TupleStorage ()=default
template<size_t... I, typename... ARGS>
  TupleStorage (std::index_sequence< I... > *, ARGS &&... args)
  MAXON_DECLARE_CONDITIONAL_COPY_CONSTRUCTOR ( TupleStorage , COPY_CONSTRUCTIBLE )
  MAXON_DECLARE_CONDITIONAL_COPY_ASSIGNMENT ( TupleStorage , COPY_ASSIGNABLE )
  MAXON_DECLARE_CONDITIONAL_MOVE_CONSTRUCTOR ( TupleStorage , MOVE_CONSTRUCTIBLE )
  MAXON_DECLARE_CONDITIONAL_MOVE_ASSIGNMENT ( TupleStorage , MOVE_ASSIGNABLE )
-  Public Member Functions inherited from TupleStorageBase< And< STD_IS_REPLACEMENT(default_constructible, T)... >::value, And< STD_IS_REPLACEMENT(trivially_destructible, T)... >::value, T... >
  TupleStorageBase ()=delete
  ~TupleStorageBase ()

Private Types

using  Super = TupleStorageBase < And < STD_IS_REPLACEMENT (default_constructible, T)... >::value, And < STD_IS_REPLACEMENT (trivially_destructible, T)... >::value, T... >
using  IndexSequence = std::index_sequence_for< T... >

私有成员函数

template<size_t... I>
void  CopyConstruct (std::index_sequence< I... > *, const TupleStorage & src )
template<size_t... I>
void  CopyAssign (std::index_sequence< I... > *, const TupleStorage & src )
template<size_t... I>
void  MoveConstruct (std::index_sequence< I... > *, TupleStorage && src )
template<size_t... I>
void  MoveAssign (std::index_sequence< I... > *, TupleStorage && src )

Static Private Attributes

static const Bool   COPY_CONSTRUCTIBLE
static const Bool   COPY_ASSIGNABLE
static const Bool   MOVE_CONSTRUCTIBLE
static const Bool   MOVE_ASSIGNABLE

Additional Inherited Members

-  Public Types inherited from TupleStorageBase< And< STD_IS_REPLACEMENT(default_constructible, T)... >::value, And< STD_IS_REPLACEMENT(trivially_destructible, T)... >::value, T... >
using  Pack = ParameterPack < T... >
-  Protected Member Functions inherited from TupleStorageBase< And< STD_IS_REPLACEMENT(default_constructible, T)... >::value, And< STD_IS_REPLACEMENT(trivially_destructible, T)... >::value, T... >
  TupleStorageBase ( ENUM_DONT_INITIALIZE )

Member Typedef Documentation

◆  Super

using Super = TupleStorageBase < And < STD_IS_REPLACEMENT (default_constructible, T)...>::value, And < STD_IS_REPLACEMENT (trivially_destructible, T)...>::value, T...>
private

◆  IndexSequence

using IndexSequence = std::index_sequence_for<T...>
private

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

◆  TupleStorage() [1/2]

TupleStorage ( )
default

◆  TupleStorage() [2/2]

TupleStorage ( std::index_sequence< I... > *  ,
ARGS &&...  args  
)
explicit

成员函数文档编制

◆  MAXON_DECLARE_CONDITIONAL_COPY_CONSTRUCTOR()

MAXON_DECLARE_CONDITIONAL_COPY_CONSTRUCTOR ( TupleStorage < T >  ,
COPY_CONSTRUCTIBLE    
)

◆  MAXON_DECLARE_CONDITIONAL_COPY_ASSIGNMENT()

MAXON_DECLARE_CONDITIONAL_COPY_ASSIGNMENT ( TupleStorage < T >  ,
COPY_ASSIGNABLE    
)

◆  MAXON_DECLARE_CONDITIONAL_MOVE_CONSTRUCTOR()

MAXON_DECLARE_CONDITIONAL_MOVE_CONSTRUCTOR ( TupleStorage < T >  ,
MOVE_CONSTRUCTIBLE    
)

◆  MAXON_DECLARE_CONDITIONAL_MOVE_ASSIGNMENT()

MAXON_DECLARE_CONDITIONAL_MOVE_ASSIGNMENT ( TupleStorage < T >  ,
MOVE_ASSIGNABLE    
)

◆  CopyConstruct()

void CopyConstruct ( std::index_sequence< I... > *  ,
const TupleStorage < T > &  src  
)
private

◆  CopyAssign()

void CopyAssign ( std::index_sequence< I... > *  ,
const TupleStorage < T > &  src  
)
private

◆  MoveConstruct()

void MoveConstruct ( std::index_sequence< I... > *  ,
TupleStorage < T > &&  src  
)
private

◆  MoveAssign()

void MoveAssign ( std::index_sequence< I... > *  ,
TupleStorage < T > &&  src  
)
private

Member Data Documentation

◆  COPY_CONSTRUCTIBLE

const Bool COPY_CONSTRUCTIBLE
static private

◆  COPY_ASSIGNABLE

const Bool COPY_ASSIGNABLE
static private

◆  MOVE_CONSTRUCTIBLE

const Bool MOVE_CONSTRUCTIBLE
static private

◆  MOVE_ASSIGNABLE

const Bool MOVE_ASSIGNABLE
static private