6 #ifndef FUNCTIONSIMPLE_H_
7 #define FUNCTIONSIMPLE_H_
9 #include "plotsconfig.h"
11 #include "functiondefinition.h"
34 typedef std::function<void(PlotFunctionResult &result, double time, unsigned int argc, const double *argv, const PlotFunctionInfo &info)>
ExpandedFunction;
54 FunctionSimple(
const ExpandedFunction &func,
const QString &category,
const QString &name,
unsigned argc = 0,
bool variadic =
false);
70 inline ExpandedFunction
function()
const {
return _function; }
89 #endif // FUNCTIONSIMPLE_H_
std::function< double(double)> ValueFunction
Simple implementation parameterisation.
Definition: functionsimple.h:29
const QString & category() const
Access the function categorisation for UI grouping.
Definition: functiondefinition.h:57
const QString & description() const
Access the function description.
Definition: functiondefinition.h:85
ExpandedFunction _function
The function object.
Definition: functionsimple.h:86
void(* ExpandedFunctionPtr)(PlotFunctionResult &result, double time, unsigned int argc, const double *argv, const PlotFunctionInfo &info)
ExpandedFunction typedef to a C function.
Definition: functionsimple.h:36
double(* ValueFunctionPtr)(double)
ValueFunction typedef to a C function.
Definition: functionsimple.h:31
bool variadic() const
Is the function variadic beyond argc()?
Definition: functiondefinition.h:101
void evaluate(PlotFunctionResult &result, double time, unsigned int argc, const double *argv, const PlotFunctionInfo &info, void *context) const override
Evaluates the function results.
Plot sampling progress information for PlotFunction.
Definition: plotfunctioninfo.h:16
unsigned argc() const
Access the minimum argument count.
Definition: functiondefinition.h:93
std::function< void(PlotFunctionResult &result, double time, unsigned int argc, const double *argv, const PlotFunctionInfo &info)> ExpandedFunction
Expanded function parameterisation.
Definition: functionsimple.h:34
const QString & name() const
Access the function name as used by the expression generator.
Definition: functiondefinition.h:65
Result value from a PlotFunction.
Definition: plotfunctionresult.h:27
Defines a function which can be used with the FunctionRegister.
Definition: functiondefinition.h:34
Defines a function which is implemented by a given function object.
Definition: functionsimple.h:25
FunctionSimple(const ValueFunction &func, const QString &category, const QString &name, const QString &description=QString())
Constructor routing the function implementation through a ValueFunction.