Jpp  master_rocky
the software that should make you happy
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
JTOOLS::JFunctional< JArgument_t, JResult_t > Class Template Referenceabstract

Template definition of function object interface. More...

#include <JFunctional.hh>

Inheritance diagram for JTOOLS::JFunctional< JArgument_t, JResult_t >:
JTOOLS::JFunction< JElement_t::abscissa_type, JResultType< JElement_t::ordinate_type >::result_type > JTOOLS::JFunction< JKey_t, JResult_t > JTOOLS::JFunction< JElement_t::abscissa_type, JResultPDF< JResultType< JElement_t::ordinate_type >::result_type > > JTOOLS::JFunction< JElement_t::abscissa_type, JResultPolynome< N, JResultType< JElement_t::ordinate_type >::result_type > > JTOOLS::JFunction< JElement_t::abscissa_type, JResultHesse< JResultType< JElement_t::ordinate_type >::result_type > > JTOOLS::JFunction< JElement_t::abscissa_type, JResultDerivative< JResultType< JElement_t::ordinate_type >::result_type > > JTOOLS::JFunction1D< JArgument_t, JMap_t< JArgument_t, JResult_t, JDistance_t >::result_type > JTOOLS::JFunction1D< JElement_t::abscissa_type, typename JElement_t::ordinate_type > JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t > JTOOLS::JFunction< JArgument_t, JResult_t > JTOOLS::JFunction1D< JArgument_t, JResult_t >

Classes

struct  JDefaultResult
 Exception handler for functional object using default result. More...
 
struct  JExceptionHandler
 Exception handler for functional object. More...
 
class  JSupervisor
 Place holder for exception handler. More...
 

Public Types

typedef JArgument_t argument_type
 
typedef JResult_t result_type
 
typedef JFunctional< argument_type, result_typefunctional_type
 
typedef JSupervisor supervisor_type
 

Public Member Functions

virtual result_type evaluate (const argument_type *pX) const =0
 Recursive function value evaluation. More...
 
JSupervisor getSupervisor () const
 Get supervisor. More...
 
const JExceptionHandlergetExceptionHandler () const
 Get exception handler. More...
 
void setExceptionHandler (const JSupervisor &supervisor)
 Set the supervisor for handling of exceptions. More...
 

Static Public Member Functions

static result_type getValue (const JFunctional &function, const argument_type *pX)
 Recursive function value evaluation. More...
 
static JClass< result_type >::argument_type getValue (typename JClass< result_type >::argument_type value, const argument_type *pX)
 Termination of recursive function value evaluation. More...
 

Protected Member Functions

 JFunctional ()
 Default constructor. More...
 

Protected Attributes

JSupervisor supervisor
 

Detailed Description

template<class JArgument_t, class JResult_t>
class JTOOLS::JFunctional< JArgument_t, JResult_t >

Template definition of function object interface.

Template definition of recursive function value evaluation.

Definition at line 70 of file JFunctional.hh.

Member Typedef Documentation

◆ argument_type

template<class JArgument_t , class JResult_t >
typedef JArgument_t JTOOLS::JFunctional< JArgument_t, JResult_t >::argument_type

Definition at line 86 of file JFunctional.hh.

◆ result_type

template<class JArgument_t , class JResult_t >
typedef JResult_t JTOOLS::JFunctional< JArgument_t, JResult_t >::result_type

Definition at line 87 of file JFunctional.hh.

◆ functional_type

template<class JArgument_t , class JResult_t >
typedef JFunctional<argument_type, result_type> JTOOLS::JFunctional< JArgument_t, JResult_t >::functional_type

Definition at line 88 of file JFunctional.hh.

◆ supervisor_type

template<class JArgument_t , class JResult_t >
typedef JSupervisor JTOOLS::JFunctional< JArgument_t, JResult_t >::supervisor_type

Definition at line 89 of file JFunctional.hh.

Constructor & Destructor Documentation

◆ JFunctional()

template<class JArgument_t , class JResult_t >
JTOOLS::JFunctional< JArgument_t, JResult_t >::JFunctional ( )
inlineprotected

Default constructor.

Definition at line 77 of file JFunctional.hh.

77  :
80  {}
static const JSupervisor & getInstance()
Get reference to unique instance of this class object.
Definition: JFunctional.hh:253
Template specialisation of compilable function object.
Definition: JFunctional.hh:40
JSupervisor supervisor
Definition: JFunctional.hh:310

Member Function Documentation

◆ evaluate()

template<class JArgument_t , class JResult_t >
virtual result_type JTOOLS::JFunctional< JArgument_t, JResult_t >::evaluate ( const argument_type pX) const
pure virtual

Recursive function value evaluation.

Parameters
pXpointer to abscissa values
Returns
function value

Implemented in JTOOLS::JSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >, JTOOLS::JSplineMap< JKey_t, JValue_t, JGridMap, JResultType< JValue_t >::result_type, JDistance< JKey_t > >, JTOOLS::JSplineMap< JKey_t, JValue_t, JMap, JResultDerivative< JResultType< JValue_t >::result_type >, JDistance< JKey_t > >, JTOOLS::JSplineMap< JKey_t, JValue_t, JMap, JResultType< JValue_t >::result_type, JDistance< JKey_t > >, JTOOLS::JSplineMap< JKey_t, JValue_t, JGridMap, JResultDerivative< JResultType< JValue_t >::result_type >, JDistance< JKey_t > >, JTOOLS::JSplineFunction< JElement_t, JCollection_t, JResultPDF< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JSplineFunction< JElement_t, JCollection_t, JResultDerivative< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JSplineFunction< JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, JResultHesse< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, JResultDerivative< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, JResultPolynome< M, typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, JResultPDF< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JPolintFunction< 1, JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JPolintFunction< 0, JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JPolfitFunction< N, M, JElement_t, JCollection_t, JResult_t, JDistance_t >, JTOOLS::JPolfitFunction< N, M, JElement_t, JCollection_t, typename JElement_t::ordinate_type, JDistance< typename JElement_t::abscissa_type > >, JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >, JTOOLS::JHermiteSplineFunction< JElement_t, JCollection_t, JResultPDF< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JHermiteSplineFunction< JElement_t, JCollection_t, JResultDerivative< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JHermiteSplineFunction< JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JFunctionObject1D< JArgument_t, JResult_t >, JTOOLS::JExternalFunction1D< JArgument_t, JResult_t >, and JTOOLS::JConstantFunction1D< JArgument_t, JResult_t >.

◆ getValue() [1/2]

template<class JArgument_t , class JResult_t >
static result_type JTOOLS::JFunctional< JArgument_t, JResult_t >::getValue ( const JFunctional< JArgument_t, JResult_t > &  function,
const argument_type pX 
)
inlinestatic

Recursive function value evaluation.

Parameters
functionfunction
pXpointer to abscissa values

Definition at line 107 of file JFunctional.hh.

109  {
110  return function.evaluate(pX);
111  }

◆ getValue() [2/2]

template<class JArgument_t , class JResult_t >
static JClass<result_type>::argument_type JTOOLS::JFunctional< JArgument_t, JResult_t >::getValue ( typename JClass< result_type >::argument_type  value,
const argument_type pX 
)
inlinestatic

Termination of recursive function value evaluation.

Parameters
valueresult
pXpointer to abscissa values

Definition at line 121 of file JFunctional.hh.

123  {
124  return value;
125  }

◆ getSupervisor()

template<class JArgument_t , class JResult_t >
JSupervisor JTOOLS::JFunctional< JArgument_t, JResult_t >::getSupervisor ( ) const
inline

Get supervisor.

Returns
supervisor

Definition at line 281 of file JFunctional.hh.

282  {
283  return supervisor;
284  }

◆ getExceptionHandler()

template<class JArgument_t , class JResult_t >
const JExceptionHandler& JTOOLS::JFunctional< JArgument_t, JResult_t >::getExceptionHandler ( ) const
inline

Get exception handler.

Returns
exception handler

Definition at line 292 of file JFunctional.hh.

293  {
294  return *supervisor;
295  }

◆ setExceptionHandler()

template<class JArgument_t , class JResult_t >
void JTOOLS::JFunctional< JArgument_t, JResult_t >::setExceptionHandler ( const JSupervisor supervisor)
inline

Set the supervisor for handling of exceptions.

Parameters
supervisorsupervisor

Definition at line 303 of file JFunctional.hh.

304  {
305  this->supervisor = supervisor;
306  }

Member Data Documentation

◆ supervisor

template<class JArgument_t , class JResult_t >
JSupervisor JTOOLS::JFunctional< JArgument_t, JResult_t >::supervisor
protected

Definition at line 310 of file JFunctional.hh.


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