ALib C++ Library
Library Version: 2412 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
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 26 of file placeholder.hpp.

#include <placeholder.hpp>

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 bytes[sizeof(T)]

the placeholder space.

Definition at line 29 of file placeholder.hpp.

Method Details:

◆ Construct()

template<typename T >
template<typename... TArgs>
void 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 35 of file placeholder.hpp.

◆ Destruct()

template<typename T >
void Destruct ( )
inline

Destructs the custom type T represented by this placeholder.

Definition at line 38 of file placeholder.hpp.

Here is the call graph for this function:

◆ Get() [1/2]

template<typename T >
T * Get ( )
inline

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

Returns
A pointer to T.

Definition at line 42 of file placeholder.hpp.

◆ Get() [2/2]

template<typename T >
const T * Get ( ) const
inline

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

Returns
A pointer to T.

Definition at line 46 of file placeholder.hpp.

◆ operator*() [1/2]

template<typename T >
T & operator* ( )
inline

Overloaded operator to access the represented instance of type T.

Returns
A pointer to T.

Definition at line 58 of file placeholder.hpp.

Here is the call graph for this function:

◆ operator*() [2/2]

template<typename T >
const T & operator* ( ) const
inline

Overloaded operator to access the represented instance of type T.

Returns
A constant pointer to T.

Definition at line 62 of file placeholder.hpp.

Here is the call graph for this function:

◆ operator->() [1/2]

template<typename T >
T * operator-> ( )
inline

Overloaded operator to access the represented instance of type T.

Returns
A pointer to T.

Definition at line 50 of file placeholder.hpp.

Here is the call graph for this function:

◆ operator->() [2/2]

template<typename T >
const T * operator-> ( ) const
inline

Overloaded operator to access the represented instance of type T.

Returns
A constant pointer to T.

Definition at line 54 of file placeholder.hpp.

Here is the call graph for this function:

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