![]() |
Lumiera 0.pre.04~rc.1
»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 > | |
| ~InPlaceAnyHolder () | |
| void | clear () |
| InPlaceAnyHolder () | |
| template<class SUB > | |
| InPlaceAnyHolder (SUB const &obj) | |
| InPlaceAnyHolder (InPlaceAnyHolder const &ref) | |
| InPlaceAnyHolder & | operator= (InPlaceAnyHolder const &ref) |
| template<class SUB > | |
| InPlaceAnyHolder & | operator= (SUB const &newContent) |
| template<class SUB > | |
| SUB & | get () const |
| re-accessing the concrete contained object. | |
| bool | empty () const |
| bool | isValid () const |
| operator bool () const | |
Additional Inherited Members | |
Protected Member Functions inherited from InPlaceAnyHolder< siz, AccessPolicy > | |
| Buffer & | buff () |
| const Buffer & | buff () const |
| void | killBuffer () |
| void | make_emptyBuff () |
| template<class SUB > | |
| void | place_inBuff (SUB const &obj) |
| void | clone_inBuff (InPlaceAnyHolder const &ref) |
| BaseP | asBase () const |
| < | |
|
inline |
Definition at line 147 of file function-erasure.hpp.
|
inline |
Definition at line 152 of file function-erasure.hpp.
Definition at line 158 of file function-erasure.hpp.
Inheritance diagram for StoreFunPtr:
Collaboration diagram for StoreFunPtr: