casacore::WrapperBase< T > Class Template Reference

Aid in constructing function objects from C++ functions. More...

#include <WrapperBase.h>

Inheritance diagram for casacore::WrapperBase< T >:
casacore::WrapperData< T, U, V, hasX, hasParam > casacore::WrapperData_FF< T, T, T, False, False > casacore::WrapperData_FT< T, T, T, False, True > casacore::WrapperData_FV< T, T, Vector< T >, False, True > casacore::WrapperData_TF< T, T, T, True, False > casacore::WrapperData_TT< T, T, T, True, True > casacore::WrapperData_TV< T, T, Vector< T >, True, True > casacore::WrapperData_VF< T, Vector< T >, T, True, False > casacore::WrapperData_VT< T, Vector< T >, T, True, True > casacore::WrapperData_VV< T, Vector< T >, Vector< T >, True, True >

List of all members.

Public Member Functions

 WrapperBase ()
 Default constructor: zero dimension.
 WrapperBase (const uInt dim)
 Standard constructor.
virtual ~WrapperBase ()
 Destructor.
virtual T eval (typename Function< T >::FunctionArg x, const Vector< T > &par) const =0
 Evaluate the function at x.
virtual uInt ndim () const
 Get the dimensionality.

Protected Attributes

uInt ndim_p
 Dimensionality.
Vector< T > arg_p
 Vector argument interface.

Private Member Functions

 WrapperBase (const WrapperBase< T > &other)
 Copy constructor and assignment (not implemented).
WrapperBase< T > & operator= (const WrapperBase< T > &other)

Detailed Description

template<class T>
class casacore::WrapperBase< T >

Aid in constructing function objects from C++ functions.

Intended use:

Internal

Review Status

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

Prerequisite

Synopsis

This base class is provided to enable compile time selection of the appropriate function call through WrapperData.

Example

 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 66 of file WrapperBase.h.


Constructor & Destructor Documentation

template<class T>
casacore::WrapperBase< T >::WrapperBase (  )  [inline]

Default constructor: zero dimension.

Definition at line 70 of file WrapperBase.h.

template<class T>
casacore::WrapperBase< T >::WrapperBase ( const uInt  dim  )  [inline, explicit]

Standard constructor.

Definition at line 72 of file WrapperBase.h.

template<class T>
virtual casacore::WrapperBase< T >::~WrapperBase (  )  [inline, virtual]

Destructor.

Definition at line 75 of file WrapperBase.h.

template<class T>
casacore::WrapperBase< T >::WrapperBase ( const WrapperBase< T > &  other  )  [private]

Copy constructor and assignment (not implemented).


Member Function Documentation

template<class T>
virtual T casacore::WrapperBase< T >::eval ( typename Function< T >::FunctionArg  x,
const Vector< T > &  par 
) const [pure virtual]
template<class T>
virtual uInt casacore::WrapperBase< T >::ndim (  )  const [inline, virtual]

Get the dimensionality.

Definition at line 86 of file WrapperBase.h.

References casacore::WrapperBase< T >::ndim_p.

template<class T>
WrapperBase<T>& casacore::WrapperBase< T >::operator= ( const WrapperBase< T > &  other  )  [private]

Member Data Documentation

template<class T>
Vector<T> casacore::WrapperBase< T >::arg_p [mutable, protected]

Vector argument interface.

Definition at line 93 of file WrapperBase.h.

template<class T>
uInt casacore::WrapperBase< T >::ndim_p [protected]

Dimensionality.

Definition at line 91 of file WrapperBase.h.

Referenced by casacore::WrapperBase< T >::ndim().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1