ALib C++ Library
Library Version: 2510 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
alib::lang::Placeholder< T > Struct Template Reference

Description:

template<typename T>
struct alib::lang::Placeholder< T >

Templated helper that reserves memory of size and alignment corresponding to type T. Along with that, construction, destruction and reinterpretation casts are given in various ways.

The type is used for class members or (less frequently for local variables), whose construction has to be deferred.

Template Parameters
TThe type to replace.

Definition at line 20 of file lang/placeholder.inl.

Public Field Index:

char bytes [sizeof(T)]
 the placeholder space.
 

Public Method Index:

template<typename... TArgs>
void Construct (TArgs &&... args)
 
void Destruct ()
 Destructs the custom type T represented by this placeholder.
 
T * Get ()
 
const T * Get () const
 
T & operator* ()
 
const T & operator* () const
 
T * operator-> ()
 
const T * operator-> () const
 

Field Details:

◆ bytes

template<typename T>
char alib::lang::Placeholder< T >::bytes[sizeof(T)]

the placeholder space.

Definition at line 23 of file lang/placeholder.inl.

Method Details:

◆ Construct()

template<typename T>
template<typename... TArgs>
void alib::lang::Placeholder< T >::Construct ( TArgs &&... args)
inline

Constructs the custom type T represented by this placeholder.

Template Parameters
TArgsThe argument types used for constructing T.
Parameters
argsThe arguments to construct the instance of T.

Definition at line 29 of file lang/placeholder.inl.

◆ Destruct()

template<typename T>
void alib::lang::Placeholder< T >::Destruct ( )
inline

Destructs the custom type T represented by this placeholder.

Definition at line 32 of file lang/placeholder.inl.

Here is the call graph for this function:

◆ Get() [1/2]

template<typename T>
T * alib::lang::Placeholder< T >::Get ( )
inline

Returns a non-constant pointer to the represented instance of type T.

Returns
A pointer to T.

Definition at line 36 of file lang/placeholder.inl.

◆ Get() [2/2]

template<typename T>
const T * alib::lang::Placeholder< T >::Get ( ) const
inline

Returns a constant pointer to the represented instance of type T.

Returns
A pointer to T.

Definition at line 40 of file lang/placeholder.inl.

◆ operator*() [1/2]

template<typename T>
T & alib::lang::Placeholder< T >::operator* ( )
inline

Overloaded operator to access the represented instance of type T.

Returns
A pointer to T.

Definition at line 52 of file lang/placeholder.inl.

Here is the call graph for this function:

◆ operator*() [2/2]

template<typename T>
const T & alib::lang::Placeholder< T >::operator* ( ) const
inline

Overloaded operator to access the represented instance of type T.

Returns
A constant pointer to T.

Definition at line 56 of file lang/placeholder.inl.

Here is the call graph for this function:

◆ operator->() [1/2]

template<typename T>
T * alib::lang::Placeholder< T >::operator-> ( )
inline

Overloaded operator to access the represented instance of type T.

Returns
A pointer to T.

Definition at line 44 of file lang/placeholder.inl.

Here is the call graph for this function:

◆ operator->() [2/2]

template<typename T>
const T * alib::lang::Placeholder< T >::operator-> ( ) const
inline

Overloaded operator to access the represented instance of type T.

Returns
A constant pointer to T.

Definition at line 48 of file lang/placeholder.inl.

Here is the call graph for this function:

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