The FunctionObject / DataContainer hiearchy follows the Acyclic Visitor design pattern (see Martin 2002 for more on this). More...
#include <data.hh>
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. |
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.
RVL::FunctionObject::FunctionObject | ( | const FunctionObject & | ) |
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.
virtual ostream& RVL::FunctionObject::write | ( | ostream & | str | ) | const [virtual] |
report to ostream - can be overridden in subclasses.
Implements RVL::Writeable.