SingletonContainerImpl< NAMED_TUPLE, PTR_FOR_REF > Class Template Reference

#include <dynamic_tuple.h>

Inheritance diagram for SingletonContainerImpl< NAMED_TUPLE, PTR_FOR_REF >:

Public Types

using CInterface = typename NAMED_TUPLE::Pack::template Apply< SingletonContainerInterface >
 

Public Member Functions

template<typename... ARGS>
 SingletonContainerImpl (ARGS &&... args)
 
const CInterfaceToInterface () const
 
CInterfaceToInterface ()
 
const ContainerDataTypeGetType () const
 
const TupleDataTypeGetTupleType () const
 
Result< GenericContainerInterface * > Clone () const
 
String ToString (const FormatStatement *formatStatement) const
 
void GetMemberPointers (const Block< const Generic * > &pointers, const TupleDataType &members) const
 
const Generic * GetMemberPointer (const InternedId &name) const
 
Int FindMemberIndex (const InternedId &name) const
 
const Generic * GetAllMemberPointers (const Block< const Generic * > &pointers, Bool skipPointersIfTupleLayout) const
 
const Generic & Get (Int index) const
 
Int GetIteratorStateSize (const MemberMap *map) const
 
Result< IntInitIterator (ViewIteratorMember *members, const MemberMap *map, Char *state) const
 
Result< IntValidateIterator (Int index, ViewIteratorMember *members, const MemberMap *map, Char *state) const
 
void FreeIterator (ViewIteratorMember *members, const MemberMap *map, Char *state) const
 
Result< IntMoveIterator (Int index, ViewIteratorMember *members, const MemberMap *map, Char *state) const
 

Public Attributes

std::conditional< PTR_FOR_REF, typename NAMED_TUPLE::TupleTypeWithPtrsForRefs, typename NAMED_TUPLE::TupleType >::type _value
 

Private Member Functions

 MAXON_IMPLEMENTATION_SIMPLE (SingletonContainerImpl, typename)
 
- Private Member Functions inherited from GenericSingletonContainerInterface
const MAXON_METHOD TupleDataTypeGetTupleType () const
 
MAXON_METHOD void GetMemberPointers (const Block< const Generic * > &pointers, const TupleDataType &members) const
 
MAXON_FUNCTION void GetMemberPointers (const Block< Generic * > &pointers, const TupleDataType &members)
 
const MAXON_METHOD Generic * GetMemberPointer (const InternedId &name) const
 
MAXON_FUNCTION Generic * GetMemberPointer (const InternedId &name)
 
const MAXON_METHOD Generic * GetAllMemberPointers (const Block< const Generic * > &pointers, Bool skipPointersIfTupleLayout) const
 
const MAXON_METHOD Generic & Get (Int index) const
 
MAXON_FUNCTION Generic & Get (Int index)
 
template<typename ATTR >
MAXON_FUNCTION Opt< const typename ATTR::ValueType & > Get () const
 

Member Typedef Documentation

◆ CInterface

using CInterface = typename NAMED_TUPLE::Pack::template Apply<SingletonContainerInterface>

Constructor & Destructor Documentation

◆ SingletonContainerImpl()

SingletonContainerImpl ( ARGS &&...  args)
explicit

Member Function Documentation

◆ MAXON_IMPLEMENTATION_SIMPLE()

MAXON_IMPLEMENTATION_SIMPLE ( SingletonContainerImpl< NAMED_TUPLE, PTR_FOR_REF >  ,
typename   
)
private

◆ ToInterface() [1/2]

const CInterface* ToInterface ( ) const

◆ ToInterface() [2/2]

CInterface* ToInterface ( )

◆ GetType()

const ContainerDataType& GetType ( void  ) const

◆ GetTupleType()

const TupleDataType& GetTupleType ( ) const

◆ Clone()

Result<GenericContainerInterface*> Clone ( ) const

◆ ToString()

String ToString ( const FormatStatement formatStatement) const

◆ GetMemberPointers()

void GetMemberPointers ( const Block< const Generic * > &  pointers,
const TupleDataType members 
) const

◆ GetMemberPointer()

const Generic* GetMemberPointer ( const InternedId name) const

◆ FindMemberIndex()

Int FindMemberIndex ( const InternedId name) const

◆ GetAllMemberPointers()

const Generic* GetAllMemberPointers ( const Block< const Generic * > &  pointers,
Bool  skipPointersIfTupleLayout 
) const

◆ Get()

const Generic& Get ( Int  index) const

◆ GetIteratorStateSize()

Int GetIteratorStateSize ( const MemberMap map) const

◆ InitIterator()

Result<Int> InitIterator ( ViewIteratorMember members,
const MemberMap map,
Char state 
) const

◆ ValidateIterator()

Result<Int> ValidateIterator ( Int  index,
ViewIteratorMember members,
const MemberMap map,
Char state 
) const

◆ FreeIterator()

void FreeIterator ( ViewIteratorMember members,
const MemberMap map,
Char state 
) const

◆ MoveIterator()

Result<Int> MoveIterator ( Int  index,
ViewIteratorMember members,
const MemberMap map,
Char state 
) const

Member Data Documentation

◆ _value

std::conditional<PTR_FOR_REF, typename NAMED_TUPLE::TupleTypeWithPtrsForRefs, typename NAMED_TUPLE::TupleType>::type _value