![]() |
Lumiera 0.pre.04
»edit your freedom«
|
#include "steam/engine/type-handler.hpp"
A pair of functors to maintain a datastructure within a buffer.
TypeHandler describes how to outfit the buffer in a specific way. Special convenience builder function(s) are provided to create a TypeHandler performing placement-new into a buffer given on invocation.
Definition at line 104 of file type-handler.hpp.
Public Types | |
| using | DoInBuffer = function< void(void *)> |
Static Public Attributes | |
| static const TypeHandler | RAW {} |
| Marker for the default case: raw buffer without type handling. | |
Public Attributes | |
| DoInBuffer | createAttached |
| DoInBuffer | destroyAttached |
| HashVal | identity |
Static Public Member Functions | |
| template<class X , typename... ARGS> | |
| static TypeHandler | create (ARGS &&...args) |
| builder function for a pre-configured TypeHandler to place a new instance into the buffer, possibly with given ctor arguments. | |
Public Member Functions | |
| TypeHandler () | |
| build an invalid NIL TypeHandler | |
| template<typename CTOR , typename DTOR > | |
| TypeHandler (CTOR ctor, DTOR dtor) | |
| build a TypeHandler binding to arbitrary constructor and destructor functions. | |
| bool | isValid () const |
Friends | |
| HashVal | hash_value (TypeHandler const &handler) |
| bool | operator== (TypeHandler const &left, TypeHandler const &right) |
| bool | operator!= (TypeHandler const &left, TypeHandler const &right) |
|
inline |
build an invalid NIL TypeHandler
Definition at line 116 of file type-handler.hpp.
Referenced by TypeHandler::create().
Here is the caller graph for this function:
|
inline |
build a TypeHandler binding to arbitrary constructor and destructor functions.
On invocation, these functions get a void* to the buffer.
Definition at line 130 of file type-handler.hpp.
| using DoInBuffer = function<void(void*)> |
Definition at line 106 of file type-handler.hpp.
|
inlinestatic |
builder function for a pre-configured TypeHandler to place a new instance into the buffer, possibly with given ctor arguments.
Definition at line 146 of file type-handler.hpp.
References TypeHandler::TypeHandler().
Here is the call graph for this function:
|
inline |
Definition at line 153 of file type-handler.hpp.
References TypeHandler::createAttached, and TypeHandler::destroyAttached.
Referenced by BufferMetadataKey_test::verifyTypeHandler().
Here is the caller graph for this function:| DoInBuffer createAttached |
Definition at line 108 of file type-handler.hpp.
Referenced by Entry::invokeEmbeddedCtor(), TypeHandler::isValid(), and BufferMetadataKey_test::verifyTypeHandler().
| DoInBuffer destroyAttached |
Definition at line 109 of file type-handler.hpp.
Referenced by Entry::invokeEmbeddedDtor_and_clear(), TypeHandler::isValid(), and BufferMetadataKey_test::verifyTypeHandler().
| HashVal identity |
Definition at line 110 of file type-handler.hpp.
|
static |
Marker for the default case: raw buffer without type handling.
Definition at line 113 of file type-handler.hpp.
Referenced by steam::engine::anonymous_namespace{buffer-metadata.hpp}::nontrivial(), and BufferMetadataKey_test::verifyTypeSpecialisation().
|
friend |
Definition at line 160 of file type-handler.hpp.
|
friend |
Definition at line 166 of file type-handler.hpp.
|
friend |
Definition at line 172 of file type-handler.hpp.
Collaboration diagram for TypeHandler: