Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/meta/function-erasure.hpp"
Policy for FunErasure: store an embedded std::function Using this policy allows to store arbitrary complex functor objects embedded within a neutral container and retrieving them later type-safe.
The price to pay is vtable access and heap storage of function arguments.
Definition at line 113 of file function-erasure.hpp.
Public Member Functions | |
template<typename SIG > | |
StoreFunction (SIG &fun) | |
template<typename SIG > | |
StoreFunction (function< SIG > const &fun) | |
template<typename SIG > | |
function< SIG > & | getFun () const |
Public Member Functions inherited from InPlaceAnyHolder< siz, AccessPolicy > | |
template<class SUB > | |
InPlaceAnyHolder (SUB const &obj) | |
InPlaceAnyHolder (InPlaceAnyHolder const &ref) | |
void | clear () |
bool | empty () const |
template<class SUB > | |
SUB & | get () const |
re-accessing the concrete contained object. More... | |
bool | isValid () const |
operator bool () const | |
InPlaceAnyHolder & | operator= (InPlaceAnyHolder const &ref) |
template<class SUB > | |
InPlaceAnyHolder & | operator= (SUB const &newContent) |
Additional Inherited Members | |
Protected Member Functions inherited from InPlaceAnyHolder< siz, AccessPolicy > | |
BaseP | asBase () const |
< More... | |
Buffer & | buff () |
const Buffer & | buff () const |
void | clone_inBuff (InPlaceAnyHolder const &ref) |
void | killBuffer () |
void | make_emptyBuff () |
template<class SUB > | |
void | place_inBuff (SUB const &obj) |