Direct-BT  2.3.1
Direct-BT - Direct Bluetooth Programming.
Public Member Functions | List of all members
jau::CaptureInvocationFunc< R, I, A > Class Template Reference

#include <function_def.hpp>

Inheritance diagram for jau::CaptureInvocationFunc< R, I, A >:
Collaboration diagram for jau::CaptureInvocationFunc< R, I, A >:

Public Member Functions

 CaptureInvocationFunc (const I &_data, R(*_function)(I &, A...), bool dataIsIdentity_) noexcept
 Utilizes copy-ctor from 'const I& _data'. More...
 
 CaptureInvocationFunc (I &&_data, R(*_function)(I &, A...), bool dataIsIdentity_) noexcept
 Utilizes move-ctor from moved 'I&& _data'. More...
 
int getType () const noexcept override
 
InvocationFunc< R, A... > * clone () const noexcept override
 
invoke (A... args) override
 
bool operator== (const InvocationFunc< R, A... > &rhs) const noexcept override
 
bool operator!= (const InvocationFunc< R, A... > &rhs) const noexcept override
 
std::string toString () const override
 
- Public Member Functions inherited from jau::InvocationFunc< R, A... >
 InvocationFunc (const InvocationFunc &o) noexcept=default
 
 InvocationFunc (InvocationFunc &&o) noexcept=default
 
virtual ~InvocationFunc () noexcept
 
InvocationFuncoperator= (const InvocationFunc &o) noexcept=default
 
InvocationFuncoperator= (InvocationFunc &&o) noexcept=default
 
virtual int getType () const noexcept=0
 Poor man's RTTI. More...
 
virtual InvocationFunc< R, A... > * clone () const noexcept=0
 
virtual std::string toString () const=0
 

Additional Inherited Members

- Protected Member Functions inherited from jau::InvocationFunc< R, A... >
 InvocationFunc () noexcept
 

Detailed Description

template<typename R, typename I, typename... A>
class jau::CaptureInvocationFunc< R, I, A >

Definition at line 216 of file function_def.hpp.

Constructor & Destructor Documentation

◆ CaptureInvocationFunc() [1/2]

template<typename R , typename I , typename... A>
jau::CaptureInvocationFunc< R, I, A >::CaptureInvocationFunc ( const I &  _data,
R(*)(I &, A...)  _function,
bool  dataIsIdentity_ 
)
inlinenoexcept

Utilizes copy-ctor from 'const I& _data'.

Definition at line 224 of file function_def.hpp.

◆ CaptureInvocationFunc() [2/2]

template<typename R , typename I , typename... A>
jau::CaptureInvocationFunc< R, I, A >::CaptureInvocationFunc ( I &&  _data,
R(*)(I &, A...)  _function,
bool  dataIsIdentity_ 
)
inlinenoexcept

Utilizes move-ctor from moved 'I&& _data'.

Definition at line 229 of file function_def.hpp.

Member Function Documentation

◆ clone()

template<typename R , typename I , typename... A>
InvocationFunc<R, A...>* jau::CaptureInvocationFunc< R, I, A >::clone ( ) const
inlineoverridenoexcept

Definition at line 235 of file function_def.hpp.

◆ getType()

template<typename R , typename I , typename... A>
int jau::CaptureInvocationFunc< R, I, A >::getType ( ) const
inlineoverridenoexcept

Definition at line 233 of file function_def.hpp.

◆ invoke()

template<typename R , typename I , typename... A>
R jau::CaptureInvocationFunc< R, I, A >::invoke ( A...  args)
inlineoverridevirtual

Implements jau::InvocationFunc< R, A... >.

Definition at line 237 of file function_def.hpp.

◆ operator!=()

template<typename R , typename I , typename... A>
bool jau::CaptureInvocationFunc< R, I, A >::operator!= ( const InvocationFunc< R, A... > &  rhs) const
inlineoverridevirtualnoexcept

Implements jau::InvocationFunc< R, A... >.

Definition at line 253 of file function_def.hpp.

◆ operator==()

template<typename R , typename I , typename... A>
bool jau::CaptureInvocationFunc< R, I, A >::operator== ( const InvocationFunc< R, A... > &  rhs) const
inlineoverridevirtualnoexcept

Implements jau::InvocationFunc< R, A... >.

Definition at line 241 of file function_def.hpp.

Here is the call graph for this function:

◆ toString()

template<typename R , typename I , typename... A>
std::string jau::CaptureInvocationFunc< R, I, A >::toString ( ) const
inlineoverride

Definition at line 258 of file function_def.hpp.

Here is the call graph for this function:

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