TupleStorage< T1, T2 > Class Template Reference

#include <tuple.h>

Public Types

using FirstType = T1
 
using SecondType = T2
 
using KeyType = T1
 
using ValueType = T2
 

Public Member Functions

 TupleStorage ()
 
template<typename A1 , typename A2 >
 TupleStorage (std::index_sequence< 0, 1 > *, A1 &&a1, A2 &&a2)
 
T1 & GetFirst ()
 
const T1 & GetFirst () const
 
T2 & GetSecond ()
 
const T2 & GetSecond () const
 
const T1 & GetKey () const
 
T2 & GetValue ()
 
const T2 & GetValue () const
 

Static Public Member Functions

template<typename I >
static Int GetOffset (I *x)
 

Public Attributes

T1 first
 
T2 second
 

Static Public Attributes

static const Int COUNT
 

Protected Member Functions

T1 & GetMember (std::integral_constant< UInt32, 0 >::type *)
 
T2 & GetMember (std::integral_constant< UInt32, 1 >::type *)
 

Member Typedef Documentation

◆ FirstType

using FirstType = T1

◆ SecondType

using SecondType = T2

◆ KeyType

using KeyType = T1

◆ ValueType

using ValueType = T2

Constructor & Destructor Documentation

◆ TupleStorage() [1/2]

◆ TupleStorage() [2/2]

TupleStorage ( std::index_sequence< 0, 1 > *  ,
A1 &&  a1,
A2 &&  a2 
)

Member Function Documentation

◆ GetFirst() [1/2]

T1& GetFirst ( )

Returns the first element of this tuple.

◆ GetFirst() [2/2]

const T1& GetFirst ( ) const

◆ GetSecond() [1/2]

T2& GetSecond ( )

Returns the second element of this tuple.

◆ GetSecond() [2/2]

const T2& GetSecond ( ) const

◆ GetKey()

const T1& GetKey ( ) const

Returns the first element of this tuple (map compatibility).

◆ GetValue() [1/2]

T2& GetValue ( )

Returns the second element of this tuple (map compatibility).

◆ GetValue() [2/2]

const T2& GetValue ( ) const

◆ GetOffset()

static Int GetOffset ( I *  x)
static

◆ GetMember() [1/2]

T1& GetMember ( std::integral_constant< UInt32, 0 >::type *  )
protected

◆ GetMember() [2/2]

T2& GetMember ( std::integral_constant< UInt32, 1 >::type *  )
protected

Member Data Documentation

◆ COUNT

const Int COUNT
static

◆ first

T1 first

◆ second

T2 second