ALib C++ Library
Library Version: 2402 R1
Documentation generated by doxygen
Loading...
Searching...
No Matches
EnumRecordHook< TEnum > Struct Template Reference

Description:

template<typename TEnum>
struct alib::enums::detail::EnumRecordHook< TEnum >

This is the internal singleton that provides a link to the first ALib Enum Record. The class inherit's Singleton and has a private default constructor, what makes this type a strict singleton.

Because enum record types are ensured to be trivially destructible types, no destructor is given.

Template Parameters
TEnumThe enumeration type associated with enum records.

Definition at line 63 of file enumrecords.inl.

Inheritance diagram for EnumRecordHook< TEnum >:
[legend]
Collaboration diagram for EnumRecordHook< TEnum >:
[legend]

Inner Type Index:

struct  Node
 

Public Type Index:

using TIntegral = typename std::underlying_type<TEnum>::type
 
using TRecord = typename T_EnumRecords<TEnum>::Type
 

Public Field Index:

Nodefirst
 

Public Method Index:

Node ** getPointerToLast ()
 
- Public Method Index: inherited from Singleton< TDerivedClass >
virtual ~Singleton ()
 

Additional Inherited Members

- Public Static Method Index: inherited from Singleton< TDerivedClass >
static TDerivedClass & GetSingleton ()
 

Type Definition Details:

◆ TIntegral

template<typename TEnum >
using TIntegral = typename std::underlying_type<TEnum>::type

The enum's underlying integer type.

Definition at line 70 of file enumrecords.inl.

◆ TRecord

template<typename TEnum >
using TRecord = typename T_EnumRecords<TEnum>::Type

The enum's associated record type.

Definition at line 73 of file enumrecords.inl.

Field Details:

◆ first

template<typename TEnum >
Node* first

The hook to the first record defined.

Definition at line 108 of file enumrecords.inl.

Constructor(s) / Destructor Details::

◆ EnumRecordHook()

template<typename TEnum >
EnumRecordHook ( )
inlineprivate

Private default constructor, what makes this type a strict singleton.

Note
As enum record types are trivially destructible types, no destructor is given.

Definition at line 132 of file enumrecords.inl.

Method Details:

◆ getPointerToLast()

template<typename TEnum >
Node ** getPointerToLast ( )
inline

Helper methods that returns the address of field EnumRecordHook::Node::next the last element contained in the list. If no elements have been initialized, yet, the address of field first is returned.

Returns
A pointer to the pointer of the last element or this hook.

Definition at line 117 of file enumrecords.inl.


The documentation for this struct was generated from the following file: