Isis 3 Programmer Reference
Isis::ParameterFx Class Reference

This class is used to bind function names with corresponding Calculator functions that take a parameter. More...

#include <InlineCalculator.h>

Inheritance diagram for Isis::ParameterFx:
Inheritance graph
Collaboration diagram for Isis::ParameterFx:
Collaboration graph

Public Types

typedef void(InlineCalculator::* calcOp) (const QVariant &arg)
 Defines an InlineCalculator function that takes arguments. More...
 

Public Member Functions

 ParameterFx (const QString &name, calcOp function, InlineCalculator *calculator)
 Constructs a Parameter function from the given name (containing the appropriate parameters), InlineCalculator operator, and InlineCalculator. More...
 
virtual ~ParameterFx ()
 Destroys the ParameterFx object. More...
 
void dispatch ()
 Calls the function corresponding to this object using its stored InlineCalculator, InlineCalculator operator, and arguments. More...
 
QString name () const
 The name assigned to this function binder. More...
 
void execute ()
 Executes the function. More...
 
void operator() ()
 Executes the function. More...
 
virtual QVariant args ()
 Accesses the arguments for this function. More...
 

Private Attributes

calcOp m_func
 The InlineCalculator operator that takes parameters. More...
 
InlineCalculatorm_calc
 The InlineCalculator used to evaluate this function. More...
 

Detailed Description

This class is used to bind function names with corresponding Calculator functions that take a parameter.

Author
2012-07-15 Kris Becker
History:
2012-07-15 Kris Becker - Original version.

Definition at line 211 of file InlineCalculator.h.

Member Typedef Documentation

◆ calcOp

typedef void(InlineCalculator::* Isis::ParameterFx::calcOp) (const QVariant &arg)

Defines an InlineCalculator function that takes arguments.

Definition at line 214 of file InlineCalculator.h.

Constructor & Destructor Documentation

◆ ParameterFx()

Isis::ParameterFx::ParameterFx ( const QString &  name,
calcOp  function,
InlineCalculator calculator 
)

Constructs a Parameter function from the given name (containing the appropriate parameters), InlineCalculator operator, and InlineCalculator.

Parameters
nameA string containing a name for this function. Note: The name given should include the parameters to be passed into this function.
functionAn InlineCalculator operator that takes parameters.
calculatorThe InlineCalculator used to evaluate this function.

Definition at line 832 of file InlineCalculator.cpp.

◆ ~ParameterFx()

Isis::ParameterFx::~ParameterFx ( )
virtual

Destroys the ParameterFx object.

Definition at line 842 of file InlineCalculator.cpp.

Member Function Documentation

◆ args()

QVariant Isis::FxBinder::args ( )
virtualinherited

Accesses the arguments for this function.

For scalars and variables, the argument is also the function name.

Returns
QVariant The parameters of this function, as a QVariant.

Definition at line 785 of file InlineCalculator.cpp.

References Isis::FxBinder::m_name.

Referenced by dispatch().

◆ dispatch()

void Isis::ParameterFx::dispatch ( )
virtual

Calls the function corresponding to this object using its stored InlineCalculator, InlineCalculator operator, and arguments.

Implements Isis::FxBinder.

Definition at line 851 of file InlineCalculator.cpp.

References Isis::FxBinder::args(), CALL_MEMBER_FN, m_calc, and m_func.

◆ execute()

void Isis::FxBinder::execute ( )
inherited

Executes the function.

This method is a wrapper for the virtual dispatch method.

Definition at line 765 of file InlineCalculator.cpp.

References Isis::FxBinder::dispatch().

◆ name()

QString Isis::FxBinder::name ( ) const
inherited

The name assigned to this function binder.

Returns
QString A string containing the name of this function.

Definition at line 756 of file InlineCalculator.cpp.

References Isis::FxBinder::m_name.

◆ operator()()

void Isis::FxBinder::operator() ( )
inherited

Executes the function.

This method is a wrapper for the virtual dispatch method.

Definition at line 774 of file InlineCalculator.cpp.

References Isis::FxBinder::dispatch().

Member Data Documentation

◆ m_calc

InlineCalculator* Isis::ParameterFx::m_calc
private

The InlineCalculator used to evaluate this function.

Definition at line 223 of file InlineCalculator.h.

Referenced by dispatch().

◆ m_func

calcOp Isis::ParameterFx::m_func
private

The InlineCalculator operator that takes parameters.

Definition at line 222 of file InlineCalculator.h.

Referenced by dispatch().


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