RVL::ProductDataContainer Class Reference

ProductDataContainers are DataContainers equipped with an indexing operator[], which returns a reference to a DataContainer when supplied with an in-range int index. More...

#include <productdata.hh>

Inheritance diagram for RVL::ProductDataContainer:

RVL::DataContainer RVL::Product< T > RVL::Writeable RVL::StdProductDataContainer List of all members.

Public Member Functions

 ProductDataContainer ()
 ProductDataContainer (const ProductDataContainer &)
virtual ~ProductDataContainer ()
virtual void eval (FunctionObject &f, std::vector< DataContainer const * > &x)
virtual void eval (FunctionObjectConstEval &f, std::vector< DataContainer const * > &x) const
virtual ostream & write (ostream &str) const
 report to ostream make possible to override - WWS 2016.12.09

Detailed Description

ProductDataContainers are DataContainers equipped with an indexing operator[], which returns a reference to a DataContainer when supplied with an in-range int index.

Since ProductDataContainers act in this way like arrays of DataContainers, they also have a getSize() method. Both the indexing operator and getSize() are supplied by a mixin Product interface.

This class is abstract, to permit a variety of schemes for storing and retrieving references to the component DataContainers. The non-const evaluation methods inherited from DataContainer are designed for BlockFOs, that is, effectively matrices of FOs. An option is provided to create a DiagonalFO; in that case evaluation is effectively equivalent to the simple loop algorithms of the Standard Library, but defined at a more ablstract level, not requiring copy semantics of the items over which the iteration takes place. For FOCEs, only the diagonal option is provided: evaluation proceeds by sequential evaluation of the FOCE on the components. To override this assumption, it will be necessary to view the object as another type of DataContainer (i.e. other than ProductDataContainer) and invoke an alternative implementation of evaluation.

Definition at line 107 of file productdata.hh.


Constructor & Destructor Documentation

RVL::ProductDataContainer::ProductDataContainer (  ) 

Definition at line 112 of file productdata.hh.

RVL::ProductDataContainer::ProductDataContainer ( const ProductDataContainer  ) 

Definition at line 113 of file productdata.hh.

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

Definition at line 114 of file productdata.hh.


Member Function Documentation

virtual void RVL::ProductDataContainer::eval ( FunctionObject f,
std::vector< DataContainer const * > &  x 
) [virtual]

Definition at line 117 of file productdata.hh.

References RVL::Product< T >::getSize().

virtual void RVL::ProductDataContainer::eval ( FunctionObjectConstEval f,
std::vector< DataContainer const * > &  x 
) const [virtual]

Definition at line 176 of file productdata.hh.

References RVL::DataContainer::eval(), and RVL::Product< T >::getSize().

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

report to ostream make possible to override - WWS 2016.12.09

Implements RVL::Writeable.

Definition at line 218 of file productdata.hh.

References RVL::Product< T >::getSize().


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