casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
casacore::WrapperBase< T > Class Template Referenceabstract

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

#include <FunctionWrapper.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 >

Public Member Functions

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

Protected Attributes

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

Private Member Functions

 WrapperBase (const WrapperBase< T > &other)
 Copy constructor and assignment (not implemented) More...
 
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 40 of file FunctionWrapper.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)
inlineexplicit

Standard constructor.

Definition at line 72 of file WrapperBase.h.

template<class T >
virtual casacore::WrapperBase< T >::~WrapperBase ( )
inlinevirtual

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
inlinevirtual

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
mutableprotected

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 files: