RVL::FunctionObject Class Reference

The FunctionObject / DataContainer hiearchy follows the Acyclic Visitor design pattern (see Martin 2002 for more on this). More...

#include <data.hh>

Inheritance diagram for RVL::FunctionObject:

RVL::Writeable RVL::BlockFunctionObject RVL::LinCombObject< Scalar > RVL::DiagonalFunctionObject List of all members.

Public Member Functions

 FunctionObject ()
 FunctionObject (const FunctionObject &)
virtual ~FunctionObject ()
virtual string getName () const =0
 Name method - returns string.
virtual ostream & write (ostream &str) const
 report to ostream - can be overridden in subclasses.

Detailed Description

The FunctionObject / DataContainer hiearchy follows the Acyclic Visitor design pattern (see Martin 2002 for more on this).

The base visitor class FunctionObject has no (nontrivial) methods, which breaks the dependency between visitors and visiteds inherent in the GoF Visitor pattern. The meaning of such an object is entirely defined by its use, for which see DataContainer, below, and Vector in Space.H.

Concrete subtypes of FunctionObject will typically apply runtime tests to constrain the types of data container source and target arguments, as well as the number of arguments.

Definition at line 56 of file data.hh.


Constructor & Destructor Documentation

RVL::FunctionObject::FunctionObject (  ) 

Definition at line 60 of file data.hh.

RVL::FunctionObject::FunctionObject ( const FunctionObject  ) 

Definition at line 61 of file data.hh.

virtual RVL::FunctionObject::~FunctionObject (  )  [virtual]

Definition at line 62 of file data.hh.


Member Function Documentation

virtual string RVL::FunctionObject::getName (  )  const [pure virtual]

Name method - returns string.

Used in standard implementations of reporting methods, which simply report the name of the function object.

Implemented in RVL::BlockFunctionObject.

Referenced by write().

virtual ostream& RVL::FunctionObject::write ( ostream &  str  )  const [virtual]

report to ostream - can be overridden in subclasses.

Implements RVL::Writeable.

Definition at line 70 of file data.hh.

References getName().

Referenced by RVL::OpFO< Scalar >::write(), RVL::LinearOpFO< Scalar >::write(), and RVL::StdFOFunctional< Scalar, DataType >::write().


The documentation for this class was generated from the following file:
Generated on 5 Jan 2017 for RVL by  doxygen 1.4.7