#include <productspace.hh>
Inheritance diagram for RVL::StdProductSpace< Scalar >:
Public Member Functions | |
StdProductSpace (const StdProductSpace< Scalar > &sp) | |
Copy construction. | |
StdProductSpace (size_t nfac) | |
construction for nfac factors, without initialization | |
StdProductSpace (Space< Scalar > const &s1) | |
constructor for single space - allows one to regard a single space as a (trivial) product space | |
StdProductSpace (Space< Scalar > const &s1, Space< Scalar > const &s2) | |
constructor for pairs of spaces. | |
StdProductSpace (Space< Scalar > const &s1, Space< Scalar > const &s2, Space< Scalar > const &s3) | |
constructor for triples of spaces. | |
StdProductSpace (Space< Scalar > const &s1, Space< Scalar > const &s2, Space< Scalar > const &s3, Space< Scalar > const &s4) | |
constructor for quadruples of spaces. | |
~StdProductSpace () | |
virtual DataContainer * | buildDataContainer () const |
implements virtual DataContainer build method via StdProductDataContainer class. | |
size_t | getSize () const |
Space< Scalar > const & | operator[] (size_t i) const |
void | set (Space< Scalar > const &sp, size_t i) |
assignment to ith factor: only possible once! | |
Protected Member Functions | |
Space< Scalar > * | clone () const |
bool | init () const |
checks that factor Spaces are initialized |
Uses export_clone to copy-construct supplied pattern Spaces. NB: Spaces are supposed to be lightweight objects.
Convenience constructors supplied for 2, 3, and 4 components.
Definition at line 207 of file productspace.hh.
RVL::StdProductSpace< Scalar >::StdProductSpace | ( | const StdProductSpace< Scalar > & | sp | ) |
Copy construction.
Definition at line 233 of file productspace.hh.
References RVL::Space< Scalar >::export_clone(), and RVL::StdProductSpace< Scalar >::s.
RVL::StdProductSpace< Scalar >::StdProductSpace | ( | size_t | nfac | ) |
construction for nfac factors, without initialization
Definition at line 241 of file productspace.hh.
RVL::StdProductSpace< Scalar >::StdProductSpace | ( | Space< Scalar > const & | s1 | ) |
constructor for single space - allows one to regard a single space as a (trivial) product space
Definition at line 247 of file productspace.hh.
RVL::StdProductSpace< Scalar >::StdProductSpace | ( | Space< Scalar > const & | s1, | |
Space< Scalar > const & | s2 | |||
) |
RVL::StdProductSpace< Scalar >::StdProductSpace | ( | Space< Scalar > const & | s1, | |
Space< Scalar > const & | s2, | |||
Space< Scalar > const & | s3 | |||
) |
RVL::StdProductSpace< Scalar >::StdProductSpace | ( | Space< Scalar > const & | s1, | |
Space< Scalar > const & | s2, | |||
Space< Scalar > const & | s3, | |||
Space< Scalar > const & | s4 | |||
) |
RVL::StdProductSpace< Scalar >::~StdProductSpace | ( | ) |
Definition at line 276 of file productspace.hh.
References RVL::StdProductSpace< Scalar >::getSize().
Space<Scalar>* RVL::StdProductSpace< Scalar >::clone | ( | ) | const [protected, virtual] |
bool RVL::StdProductSpace< Scalar >::init | ( | ) | const [protected] |
checks that factor Spaces are initialized
Definition at line 224 of file productspace.hh.
Referenced by RVL::StdProductSpace< Scalar >::buildDataContainer(), and RVL::StdProductSpace< Scalar >::operator[]().
virtual DataContainer* RVL::StdProductSpace< Scalar >::buildDataContainer | ( | ) | const [virtual] |
implements virtual DataContainer build method via StdProductDataContainer class.
Made virtual so that subclasses can use specialized subtypes of StdProdDC
Implements RVL::Space< Scalar >.
Definition at line 285 of file productspace.hh.
References RVL::StdProductSpace< Scalar >::getSize(), RVL::StdProductSpace< Scalar >::init(), and RVL::StdProductDataContainer::push().
size_t RVL::StdProductSpace< Scalar >::getSize | ( | ) | const [virtual] |
Implements RVL::ROProduct< T >.
Definition at line 303 of file productspace.hh.
Referenced by RVL::StdProductSpace< Scalar >::buildDataContainer(), and RVL::StdProductSpace< Scalar >::~StdProductSpace().
Space<Scalar> const& RVL::StdProductSpace< Scalar >::operator[] | ( | size_t | i | ) | const [virtual] |
Implements RVL::ROProduct< T >.
Definition at line 304 of file productspace.hh.
References RVL::StdProductSpace< Scalar >::init().
void RVL::StdProductSpace< Scalar >::set | ( | Space< Scalar > const & | sp, | |
size_t | i | |||
) |
assignment to ith factor: only possible once!
Definition at line 314 of file productspace.hh.
References RVL::Space< Scalar >::export_clone().