Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/meta/function-erasure.hpp"
Policy for FunErasure: store a bare function pointer.
Using this policy allows to store a conventional function ptr, while still being able to re-access it later with run-time type check. The price to pay is vtable access.
Definition at line 142 of file function-erasure.hpp.
Public Member Functions | |
template<typename SIG > | |
StoreFunPtr (SIG &fun) | |
template<typename SIG > | |
StoreFunPtr (SIG *fun) | |
template<typename SIG > | |
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) |