Lumiera  0.pre.03
»edit your freedom«
StoreFunPtr Class Reference

#include "lib/meta/function-erasure.hpp"

Description

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 151 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
 
InPlaceAnyHolderoperator= (InPlaceAnyHolder const &ref)
 
template<class SUB >
InPlaceAnyHolderoperator= (SUB const &newContent)
 

Additional Inherited Members

- Protected Member Functions inherited from InPlaceAnyHolder< siz, AccessPolicy >
BaseP asBase () const
 < More...
 
Bufferbuff ()
 
const Bufferbuff () const
 
void clone_inBuff (InPlaceAnyHolder const &ref)
 
void killBuffer ()
 
void make_emptyBuff ()
 
template<class SUB >
void place_inBuff (SUB const &obj)
 
+ Inheritance diagram for StoreFunPtr:
+ Collaboration diagram for StoreFunPtr:

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