Honeycomb  0.1
Component-Model Framework
Public Types | Public Member Functions | Public Attributes | List of all members
honey::mt::Funcptr< R(Args...)> Struct Template Reference

Holds a function pointer so that a functor can be called non-virtually. The functor must inherit from FuncptrBase. More...

#include <Meta.h>

Collaboration diagram for honey::mt::Funcptr< R(Args...)>:
Collaboration graph
[legend]

Public Types

typedef R(FuncptrBase::* Func) (Args...)
 

Public Member Functions

 Funcptr ()
 
 Funcptr (nullptr_t)
 
template<class F >
 Funcptr (F &&f)
 
template<class F >
Funcptroperator= (F &&f)
 
Funcptroperator= (nullptr_t)
 
template<class... Args_>
operator() (Args_ &&...args) const
 
bool operator== (const Funcptr &rhs) const
 
bool operator!= (const Funcptr &rhs) const
 
 operator bool () const
 

Public Attributes

FuncptrBasebase
 
Func func
 

Detailed Description

template<class R, class... Args>
struct honey::mt::Funcptr< R(Args...)>

Holds a function pointer so that a functor can be called non-virtually. The functor must inherit from FuncptrBase.

See also
FuncptrCreate()

Member Typedef Documentation

template<class R , class... Args>
typedef R(FuncptrBase::* honey::mt::Funcptr< R(Args...)>::Func) (Args...)

Constructor & Destructor Documentation

template<class R , class... Args>
honey::mt::Funcptr< R(Args...)>::Funcptr ( )
inline
template<class R , class... Args>
honey::mt::Funcptr< R(Args...)>::Funcptr ( nullptr_t  )
inline
template<class R , class... Args>
template<class F >
honey::mt::Funcptr< R(Args...)>::Funcptr ( F &&  f)
inline

Member Function Documentation

template<class R , class... Args>
honey::mt::Funcptr< R(Args...)>::operator bool ( ) const
inlineexplicit
template<class R , class... Args>
bool honey::mt::Funcptr< R(Args...)>::operator!= ( const Funcptr< R(Args...)> &  rhs) const
inline
template<class R , class... Args>
template<class... Args_>
R honey::mt::Funcptr< R(Args...)>::operator() ( Args_ &&...  args) const
inline
template<class R , class... Args>
template<class F >
Funcptr& honey::mt::Funcptr< R(Args...)>::operator= ( F &&  f)
inline
template<class R , class... Args>
Funcptr& honey::mt::Funcptr< R(Args...)>::operator= ( nullptr_t  )
inline
template<class R , class... Args>
bool honey::mt::Funcptr< R(Args...)>::operator== ( const Funcptr< R(Args...)> &  rhs) const
inline

Member Data Documentation

template<class R , class... Args>
FuncptrBase* honey::mt::Funcptr< R(Args...)>::base
template<class R , class... Args>
Func honey::mt::Funcptr< R(Args...)>::func

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