casacore
Loading...
Searching...
No Matches
casacore::WrapperParam< T > Class Template Reference

More...

#include <WrapperParam.h>

Public Member Functions

 WrapperParam ()
 Construct with the given parameters.
 WrapperParam (const T &par)
 WrapperParam (const Vector< T > &par)
 WrapperParam (const WrapperParam< T > &other)
 Copy constructor (deep copy).
WrapperParam< T > & operator= (const WrapperParam< T > &other)
 Copy assignment (deep copy).
virtual ~WrapperParam ()
 Destructor.
virtual const Stringname () const
 Give name of function.
Public Member Functions inherited from casacore::Function< T, U >
 Function ()
 Constructors.
 Function (const uInt n)
 Function (const Vector< T > &in)
 Function (const FunctionParam< T > &other)
template<class W, class X>
 Function (const Function< W, X > &other)
virtual ~Function ()
 Destructor.
virtual uInt ndim () const =0
 Returns the number of dimensions of function.
uInt nparameters () const
 Returns the number of parameters.
virtual U eval (FunctionArg x) const =0
 Evaluate the function object.
T & operator[] (const uInt n)
 Manipulate the nth parameter (0-based) with no index check.
const T & operator[] (const uInt n) const
virtual U operator() () const
 Evaluate this function object at xor at x, y.
virtual U operator() (const ArgType &x) const
virtual U operator() (const Vector< ArgType > &x) const
virtual U operator() (FunctionArg x) const
virtual U operator() (const ArgType &x, const ArgType &y) const
virtual U operator() (const ArgType &x, const ArgType &y, const ArgType &z) const
Boolmask (const uInt n)
 Manipulate the mask associated with the nth parameter (e.g.
const Boolmask (const uInt n) const
const FunctionParam< T > & parameters () const
 Return the parameter interface.
FunctionParam< T > & parameters ()
const Vector< ArgType > & argp () const
 Get arg_p and parset_p.
Bool parsetp () const
void lockParam ()
 Compiler cannot always find the correct 'const' version of parameter access.
void unlockParam ()
virtual void setMode (const RecordInterface &mode)
 get/set the function mode.
virtual void getMode (RecordInterface &mode) const
virtual Bool hasMode () const
 return True if the implementing function supports a mode.
ostream & print (ostream &os) const
 Print the function (i.e.
virtual Function< T, U > * clone () const =0
 Return a copy of this object from the heap.
virtual Function< typename FunctionTraits< T >::DiffType > * cloneAD () const
virtual Function< typename FunctionTraits< T >::BaseType > * cloneNonAD () const
Public Member Functions inherited from casacore::Functional< FunctionTraits< T >::ArgType, T >
virtual ~Functional ()
 Destructor.
virtual T operator() (const FunctionTraits< T >::ArgType &x) const=0
 Map a Domain x into a Range y value.
Public Member Functions inherited from casacore::Functional< Vector< FunctionTraits< T >::ArgType >, T >
virtual ~Functional ()
 Destructor.
virtual T operator() (const Vector< FunctionTraits< T >::ArgType > &x) const=0
 Map a Domain x into a Range y value.

Additional Inherited Members

Public Types inherited from casacore::Function< T, U >
typedef FunctionTraits< T >::ArgType ArgType
typedef const ArgTypeFunctionArg
Protected Attributes inherited from casacore::Function< T, U >
FunctionParam< T > param_p
 The parameters and masks.
Vector< ArgTypearg_p
 Aid for non-contiguous argument storage.
Bool parset_p
 Indicate parameter written.
Bool locked_p
 Indicate that parameters are expected to be locked from changing.

Detailed Description

template<class T>
class casacore::WrapperParam< T >

Parameter handling for wrapped function objects

Intended use:

Internal

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

Prerequisite

Synopsis

This class is provided to enable easy specialization for the actual FunctionWrapper class.

Example

Float func(const Vector<Float>& x) {return x(0)*x(1);} // x*y
// Convert C++ functions to Function
FunctionWrapper<Float> Func(func, 2);
float Float
Definition aipstype.h:52

Template Type Argument Requirements (T)

  • T should have standard numerical operators and exp() function. Current implementation only tested for real types (and their AutoDiffs).

Thrown Exceptions

  • Assertion in debug mode if attempt is made to set a negative width
  • AipsError if incorrect parameter number specified.

To Do

  • Nothing I know of

Definition at line 79 of file WrapperParam.h.

Constructor & Destructor Documentation

◆ WrapperParam() [1/4]

template<class T>
casacore::WrapperParam< T >::WrapperParam ( )

Construct with the given parameters.

Referenced by operator=(), and WrapperParam().

◆ WrapperParam() [2/4]

template<class T>
casacore::WrapperParam< T >::WrapperParam ( const T & par)
explicit

◆ WrapperParam() [3/4]

template<class T>
casacore::WrapperParam< T >::WrapperParam ( const Vector< T > & par)
explicit

◆ WrapperParam() [4/4]

template<class T>
casacore::WrapperParam< T >::WrapperParam ( const WrapperParam< T > & other)

Copy constructor (deep copy).

References WrapperParam().

◆ ~WrapperParam()

template<class T>
virtual casacore::WrapperParam< T >::~WrapperParam ( )
virtual

Destructor.

Member Function Documentation

◆ name()

template<class T>
virtual const String & casacore::WrapperParam< T >::name ( ) const
inlinevirtual

Give name of function.

Reimplemented from casacore::Function< T, U >.

Definition at line 104 of file WrapperParam.h.

◆ operator=()

template<class T>
WrapperParam< T > & casacore::WrapperParam< T >::operator= ( const WrapperParam< T > & other)

Copy assignment (deep copy).

References WrapperParam().


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