98 template <
typename _Result>
105 using BaseFunction::BaseFunction;
106 using BaseFunction::operator=;
143 template <
typename _Fn>
151 template <
typename _Result>
161 template<
char _Op,
typename _Res1,
typename _Res2>
215 template<
typename _Res1,
typename _Res2>
220 template<
typename _Res1,
typename _Res2>
225 template<
typename _Res1,
typename _Res2>
230 template<
typename _Res1,
typename _Res2>
CepsFunctionFlag
Enum for CepsStandardArgs functions.
OperatorSAFunc<'-', _Res1, _Res2 > * newDiffSAFunc(SAFunc< _Res1 > *, SAFunc< _Res2 > *)
Get a new substraction object without having to look after return types of fn1 and fn2.
OperatorSAFunc<'+', _Res1, _Res2 > * newSumSAFunc(SAFunc< _Res1 > *, SAFunc< _Res2 > *)
Get a new addition object without having to look after return types of fn1 and fn2.
OperatorSAFunc<'/', _Res1, _Res2 > * newDivSAFunc(SAFunc< _Res1 > *, SAFunc< _Res2 > *)
Get a new division object without having to look after return types of fn1 and fn2.
OperatorSAFunc<' *', _Res1, _Res2 > * newProductSAFunc(SAFunc< _Res1 > *, SAFunc< _Res2 > *)
Get a new product object without having to look after return types of fn1 and fn2.
Operation on two SA Funcs.
Result eval(CepsStandardArgs) override
Returns the operation on evals of fn1, fn2.
OperatorSAFunc & operator=(const OperatorSAFunc &)=default
We allow the assignement from a functor to another.
CepsBool m_ownedFn1
Fn1 will be deleted with product.
ceps::ResultOfOperation< _Op, _Res1, _Res2 > Result
Type of result.
CepsBool m_ownedFn2
Fn2 will be deleted with product.
void setOwned(CepsBool o1, CepsBool o2)
Tells if operands will be deleted by product function (false by default)
OperatorSAFunc(Fn1 *fn1, Fn2 *fn2)
Constructor.
~OperatorSAFunc() override
Destructor.
CepsEnum getFlags() const override
Could be none, but better make it pure virtual.
void releaseLocalData() override
Authorize access to data for solvecSAFunc, other derived classes : nothing.
void getLocalData() override
Authorize access to data for solvecSAFunc, other derived classes : nothing.
A SAFunc is a ceps::Function that uses CepsStandardArgs as argument of call operator (),...
SAFunc & operator=(const SAFunc &)=default
We allow the assignement from a functor to another.
virtual void releaseLocalData()
Authorize access to data for solvecSAFunc, other derived classes : nothing.
virtual CepsEnum getFlags() const =0
Could be none, but better make it pure virtual.
CepsBool hasOption(CepsFunctionFlag flag)
Tells if option is activated.
SAFunc(const SAFunc &)=default
We allow the copy from a functor to another.
virtual void getLocalData()
Authorize access to data for solvecSAFunc, other derived classes : nothing.
A namespace for all utility methods.
typename ResultOfOperationStruct< _Op, _T1, _T2 >::type ResultOfOperation
Shortcut for type of result of operation.
CepsEnum getFlagsOf(ArraySAFunc< _Result > *f)
get functor options
Structure used to pass arguments to SAFunc (see pde directory) The flags of the SAFunc allows extract...
function caller : abstract base, only contains an variadic operator()