CEPS  24.01
Cardiac ElectroPhysiology Simulator
ceps::FunctionOperation< _Op, _Res1, _Res2, _Args > Struct Template Reference

Detailed Description

template<char _Op, typename _Res1, typename _Res2, typename... _Args>
struct ceps::FunctionOperation< _Op, _Res1, _Res2, _Args >

The product of two functions, a function mult(_Res1,_Res2) must be implemented to be able to deduce the type of the product.

Definition at line 364 of file CepsFunction.hpp.

#include <CepsFunction.hpp>

Inheritance diagram for ceps::FunctionOperation< _Op, _Res1, _Res2, _Args >:
[legend]

Public Types

using Fn1 = Function< _Res1(_Args...)>
 Type of function of the left operand. More...
 
using Fn2 = Function< _Res2(_Args...)>
 Type of function of the right operand. More...
 
using Result = ResultOfOperation< _Op, _Res1, _Res2 >
 Type of result. More...
 

Public Member Functions

 FunctionOperation (const Fn1 *fn1, const Fn2 *fn2)
 Constructor with two functions. More...
 
 FunctionOperation (const FunctionOperation &fp)=default
 Default copy contructor. More...
 
FunctionOperationoperator= (const FunctionOperation &fp)=default
 Default assignment operator. More...
 
Result eval (_Args... args) override
 

Data Fields

const Fn1m_fn1
 left operand More...
 
const Fn2m_fn2
 right operand More...
 

Member Typedef Documentation

◆ Fn1

template<char _Op, typename _Res1 , typename _Res2 , typename... _Args>
using ceps::FunctionOperation< _Op, _Res1, _Res2, _Args >::Fn1 = Function<_Res1 (_Args...)>

Type of function of the left operand.

Definition at line 368 of file CepsFunction.hpp.

◆ Fn2

template<char _Op, typename _Res1 , typename _Res2 , typename... _Args>
using ceps::FunctionOperation< _Op, _Res1, _Res2, _Args >::Fn2 = Function<_Res2 (_Args...)>

Type of function of the right operand.

Definition at line 370 of file CepsFunction.hpp.

◆ Result

template<char _Op, typename _Res1 , typename _Res2 , typename... _Args>
using ceps::FunctionOperation< _Op, _Res1, _Res2, _Args >::Result = ResultOfOperation<_Op, _Res1, _Res2>

Type of result.

Definition at line 372 of file CepsFunction.hpp.

Constructor & Destructor Documentation

◆ FunctionOperation() [1/2]

template<char _Op, typename _Res1 , typename _Res2 , typename... _Args>
ceps::FunctionOperation< _Op, _Res1, _Res2, _Args >::FunctionOperation ( const Fn1 fn1,
const Fn2 fn2 
)
inline

Constructor with two functions.

Definition at line 378 of file CepsFunction.hpp.

◆ FunctionOperation() [2/2]

template<char _Op, typename _Res1 , typename _Res2 , typename... _Args>
ceps::FunctionOperation< _Op, _Res1, _Res2, _Args >::FunctionOperation ( const FunctionOperation< _Op, _Res1, _Res2, _Args > &  fp)
default

Default copy contructor.

Member Function Documentation

◆ eval()

template<char _Op, typename _Res1 , typename _Res2 , typename... _Args>
Result ceps::FunctionOperation< _Op, _Res1, _Res2, _Args >::eval ( _Args...  args)
inlineoverride

Definition at line 391 of file CepsFunction.hpp.

◆ operator=()

template<char _Op, typename _Res1 , typename _Res2 , typename... _Args>
FunctionOperation& ceps::FunctionOperation< _Op, _Res1, _Res2, _Args >::operator= ( const FunctionOperation< _Op, _Res1, _Res2, _Args > &  fp)
default

Default assignment operator.

Field Documentation

◆ m_fn1

template<char _Op, typename _Res1 , typename _Res2 , typename... _Args>
const Fn1* ceps::FunctionOperation< _Op, _Res1, _Res2, _Args >::m_fn1

left operand

Definition at line 374 of file CepsFunction.hpp.

◆ m_fn2

template<char _Op, typename _Res1 , typename _Res2 , typename... _Args>
const Fn2* ceps::FunctionOperation< _Op, _Res1, _Res2, _Args >::m_fn2

right operand

Definition at line 375 of file CepsFunction.hpp.


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