KASKADE 7 development version
Public Types | Public Member Functions | List of all members
Kaskade::Functor< ReturnType_, Arguments > Class Template Reference

Functor with first class semantics. More...

#include <functor.hh>

Detailed Description

template<typename ReturnType_, typename... Arguments>
class Kaskade::Functor< ReturnType_, Arguments >

Functor with first class semantics.

Defined by return type and arguments of the callable entity. See "Modern C++ Design", chapter 5, by Andrei Alexandrescu for details.

Definition at line 73 of file functor.hh.

Public Types

typedef ReturnType_ ReturnType
 

Public Member Functions

 Functor ()
 
 Functor (Functor const &functor)
 
 Functor (const std::unique_ptr< Impl > &impl_)
 
template<class Fun >
 Functor (const Fun &fun)
 
Functoroperator= (const Functor &functor)
 
ReturnType operator() (Arguments... args)
 
ReturnType operator() (Arguments... args) const
 

Member Typedef Documentation

◆ ReturnType

template<typename ReturnType_ , typename... Arguments>
typedef ReturnType_ Kaskade::Functor< ReturnType_, Arguments >::ReturnType

Definition at line 77 of file functor.hh.

Constructor & Destructor Documentation

◆ Functor() [1/4]

template<typename ReturnType_ , typename... Arguments>
Kaskade::Functor< ReturnType_, Arguments >::Functor ( )
inline

Definition at line 79 of file functor.hh.

◆ Functor() [2/4]

template<typename ReturnType_ , typename... Arguments>
Kaskade::Functor< ReturnType_, Arguments >::Functor ( Functor< ReturnType_, Arguments > const &  functor)
inline

Definition at line 81 of file functor.hh.

◆ Functor() [3/4]

template<typename ReturnType_ , typename... Arguments>
Kaskade::Functor< ReturnType_, Arguments >::Functor ( const std::unique_ptr< Impl > &  impl_)
inline

Definition at line 83 of file functor.hh.

◆ Functor() [4/4]

template<typename ReturnType_ , typename... Arguments>
template<class Fun >
Kaskade::Functor< ReturnType_, Arguments >::Functor ( const Fun &  fun)
inline

Definition at line 86 of file functor.hh.

Member Function Documentation

◆ operator()() [1/2]

template<typename ReturnType_ , typename... Arguments>
ReturnType Kaskade::Functor< ReturnType_, Arguments >::operator() ( Arguments...  args)
inline

Definition at line 90 of file functor.hh.

◆ operator()() [2/2]

template<typename ReturnType_ , typename... Arguments>
ReturnType Kaskade::Functor< ReturnType_, Arguments >::operator() ( Arguments...  args) const
inline

Definition at line 92 of file functor.hh.

◆ operator=()

template<typename ReturnType_ , typename... Arguments>
Functor & Kaskade::Functor< ReturnType_, Arguments >::operator= ( const Functor< ReturnType_, Arguments > &  functor)
inline

Definition at line 88 of file functor.hh.


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