CEPS  24.01
Cardiac ElectroPhysiology Simulator
ceps::MemberFunction< _Class, _Res(_Class::*)(_Args...)> Struct Template Reference

Detailed Description

template<class _Res, class _Class, class... _Args>
struct ceps::MemberFunction< _Class, _Res(_Class::*)(_Args...)>

A struct that can be used to convert member functions into ceps::Function.

Definition at line 144 of file CepsFunction.hpp.

#include <CepsFunction.hpp>

Inheritance diagram for ceps::MemberFunction< _Class, _Res(_Class::*)(_Args...)>:
[legend]

Public Member Functions

 MemberFunction (_Class &obj, _Res(_Class::*pmf)(_Args...))
 Constructor with member function. More...
 
 MemberFunction (const MemberFunction &that)
 Copy constructor. More...
 
 ~MemberFunction () override
 Destructor. More...
 
_Res eval (_Args... args) final
 Call operator. More...
 
- Public Member Functions inherited from ceps::Function< _Res(_Args...)>
 Function ()=default
 Construct a new Function object. More...
 
 Function (const Function &)=default
 Copy constructor. More...
 
 Function (Function &&) noexcept=default
 Copy constructor. More...
 
Functionoperator= (const Function &)=default
 Assignment operator. More...
 
Functionoperator= (Function &&) noexcept=default
 Assignment operator. More...
 
virtual ~Function ()=default
 Destroy the Function object. More...
 
virtual _Res operator() (_Args... args) final
 Base operator for call. Cannot be overloaded, use eval instead. We do this as the It is used to select the correct evaluation of the derived classes, as C++ seems to not do the right thing. More...
 

Data Fields

_Class * m_obj
 A pointer to the instance of the member. More...
 
_Res(_Class::* m_pmf )(_Args...)
 Function pointer. More...
 

Additional Inherited Members

- Public Types inherited from ceps::Function< _Res(_Args...)>
using ReturnType = _Res
 Return type definition. More...
 
using SignatureType = _Res(_Args...)
 signature type More...
 

Constructor & Destructor Documentation

◆ MemberFunction() [1/2]

template<class _Res , class _Class , class... _Args>
ceps::MemberFunction< _Class, _Res(_Class::*)(_Args...)>::MemberFunction ( _Class &  obj,
_Res(_Class::*)(_Args...)  pmf 
)
inline

Constructor with member function.

Definition at line 151 of file CepsFunction.hpp.

◆ MemberFunction() [2/2]

template<class _Res , class _Class , class... _Args>
ceps::MemberFunction< _Class, _Res(_Class::*)(_Args...)>::MemberFunction ( const MemberFunction< _Class, _Res(_Class::*)(_Args...)> &  that)
inline

Copy constructor.

Definition at line 157 of file CepsFunction.hpp.

◆ ~MemberFunction()

template<class _Res , class _Class , class... _Args>
ceps::MemberFunction< _Class, _Res(_Class::*)(_Args...)>::~MemberFunction ( )
inlineoverride

Destructor.

Definition at line 163 of file CepsFunction.hpp.

Member Function Documentation

◆ eval()

template<class _Res , class _Class , class... _Args>
_Res ceps::MemberFunction< _Class, _Res(_Class::*)(_Args...)>::eval ( _Args...  args)
inlinefinalvirtual

Call operator.

Implements ceps::Function< _Res(_Args...)>.

Definition at line 168 of file CepsFunction.hpp.

Field Documentation

◆ m_obj

template<class _Res , class _Class , class... _Args>
_Class* ceps::MemberFunction< _Class, _Res(_Class::*)(_Args...)>::m_obj

A pointer to the instance of the member.

Definition at line 147 of file CepsFunction.hpp.

◆ m_pmf

template<class _Res , class _Class , class... _Args>
_Res(_Class::* ceps::MemberFunction< _Class, _Res(_Class::*)(_Args...)>::m_pmf) (_Args...)

Function pointer.

Definition at line 148 of file CepsFunction.hpp.


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