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

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

Description

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
 
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 StoreFunction:
+ Collaboration diagram for StoreFunction:

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