Construct nD function objects from C++ functions. More...
#include <FunctionWrapper.h>
Public Member Functions | |
| FunctionWrapper () | |
| Default constructor, to enable arrays. | |
| FunctionWrapper (T(*f)()) | |
| A function with no parameters and no arguments. | |
| FunctionWrapper (T(*f)(const T &), const Bool isPar) | |
| A function with parameter and no arguments (Note value of isPar irrelevant). | |
| FunctionWrapper (T(*f)(const Vector< T > &), const Bool isPar) | |
| A function with parameters and no arguments. | |
| FunctionWrapper (T(*f)(const T &)) | |
| Construct a 1-dimensional function with no parameters. | |
| FunctionWrapper (T(*f)(const T &, const T &), const T &par) | |
| Construct a 1-dimensional function with parameter. | |
| FunctionWrapper (T(*f)(const T &, const Vector< T > &), const Vector< T > &par) | |
| Construct a 1-dimensional function with parameters. | |
| FunctionWrapper (T(*f)(const Vector< T > &), const Int dim=1) | |
| Construct an n-dimensional function with no parameters. | |
| FunctionWrapper (T(*f)(const Vector< T > &, const T &), const T &par, const uInt dim=1) | |
| Construct an n-dimensional function with parameter. | |
| FunctionWrapper (T(*f)(const Vector< T > &, const Vector< T > &), const Vector< T > &par, const uInt dim=1) | |
| Construct an n-dimensional function with parameters. | |
| FunctionWrapper (const FunctionWrapper< T > &other) | |
| Copy constructor (reference semantics). | |
| FunctionWrapper< T > & | operator= (const FunctionWrapper< T > &other) |
| Copy assignment (reference semantics). | |
| virtual | ~FunctionWrapper () |
| Destructor. | |
| virtual T | eval (typename Function< T >::FunctionArg x) const |
Evaluate the function at x. | |
| virtual uInt | ndim () const |
| Get the dimensionality. | |
| virtual Function< T > * | clone () const |
| Return a copy of this object from the heap. | |
Protected Attributes | |
| CountedPtr< WrapperBase< T > > | doit_p |
| The function aid object. | |
Construct nD function objects from C++ functions.
Public interface
This class is provided so that user can quickly construct a function object from a C++ function pointer without having to write a function class. The constructor constructs a function object from a function pointer, and an optional parameter list. Parameters are necessary if the function has to be used in a functional fitting process (see GenericL2Fit ).
The general function signature is f(x;p), where x represents the arguments, and p the parameters. The allowed signatures of the function include all combinations of arguments and parameters, and are:
f() no arguments e.g. random number or constant f(x) 1-dimensional, e.g. sin(x) f(Vectorx) n-dimensional, e.g. sin(x+2y) Float func(const Vector<Float>& x) {return x(0)*x(1);} // x*y // Convert C++ functions to Functionals FunctionWrapper<Float> Func(func,2);
Definition at line 85 of file FunctionWrapper.h.
| casacore::FunctionWrapper< T >::FunctionWrapper | ( | ) |
Default constructor, to enable arrays.
| casacore::FunctionWrapper< T >::FunctionWrapper | ( | T(*)() | f | ) |
A function with no parameters and no arguments.
| casacore::FunctionWrapper< T >::FunctionWrapper | ( | T(*)(const T &) | f, | |
| const Bool | isPar | |||
| ) |
A function with parameter and no arguments (Note value of isPar irrelevant).
| casacore::FunctionWrapper< T >::FunctionWrapper | ( | T(*)(const Vector< T > &) | f, | |
| const Bool | isPar | |||
| ) |
A function with parameters and no arguments.
(Note value of isPar irrelevant)
| casacore::FunctionWrapper< T >::FunctionWrapper | ( | T(*)(const T &) | f | ) |
Construct a 1-dimensional function with no parameters.
| casacore::FunctionWrapper< T >::FunctionWrapper | ( | T(*)(const T &, const T &) | f, | |
| const T & | par | |||
| ) |
Construct a 1-dimensional function with parameter.
| casacore::FunctionWrapper< T >::FunctionWrapper | ( | T(*)(const T &, const Vector< T > &) | f, | |
| const Vector< T > & | par | |||
| ) |
Construct a 1-dimensional function with parameters.
| casacore::FunctionWrapper< T >::FunctionWrapper | ( | T(*)(const Vector< T > &) | f, | |
| const Int | dim = 1 | |||
| ) |
Construct an n-dimensional function with no parameters.
| casacore::FunctionWrapper< T >::FunctionWrapper | ( | T(*)(const Vector< T > &, const T &) | f, | |
| const T & | par, | |||
| const uInt | dim = 1 | |||
| ) |
Construct an n-dimensional function with parameter.
| casacore::FunctionWrapper< T >::FunctionWrapper | ( | T(*)(const Vector< T > &, const Vector< T > &) | f, | |
| const Vector< T > & | par, | |||
| const uInt | dim = 1 | |||
| ) |
Construct an n-dimensional function with parameters.
| casacore::FunctionWrapper< T >::FunctionWrapper | ( | const FunctionWrapper< T > & | other | ) |
Copy constructor (reference semantics).
| virtual casacore::FunctionWrapper< T >::~FunctionWrapper | ( | ) | [inline, virtual] |
Destructor.
Definition at line 122 of file FunctionWrapper.h.
| virtual Function<T>* casacore::FunctionWrapper< T >::clone | ( | ) | const [inline, virtual] |
Return a copy of this object from the heap.
The caller is responsible for deleting this pointer.
Implements casacore::Function< T >.
Definition at line 136 of file FunctionWrapper.h.
| virtual T casacore::FunctionWrapper< T >::eval | ( | typename Function< T >::FunctionArg | x | ) | const [virtual] |
Evaluate the function at x.
| virtual uInt casacore::FunctionWrapper< T >::ndim | ( | ) | const [virtual] |
Get the dimensionality.
Implements casacore::Function< T >.
| FunctionWrapper<T>& casacore::FunctionWrapper< T >::operator= | ( | const FunctionWrapper< T > & | other | ) |
Copy assignment (reference semantics).
Reimplemented from casacore::WrapperParam< T >.
CountedPtr<WrapperBase<T> > casacore::FunctionWrapper< T >::doit_p [protected] |
The function aid object.
Definition at line 143 of file FunctionWrapper.h.
1.6.1