#include <productspace.hh>
Inheritance diagram for RVL::CartesianPowerSpace< Scalar >:
Public Member Functions | |
CartesianPowerSpace (size_t _size, const Space< Scalar > &_subspc) | |
CartesianPowerSpace (const CartesianPowerSpace< Scalar > &s) | |
virtual | ~CartesianPowerSpace () |
size_t | getSize () const |
returns number of components | |
Space< Scalar > const & | operator[] (size_t i) const |
returns ith component space | |
bool | isCompatible (DataContainer const &dc) const |
bool | operator== (const Space< Scalar > &sp) const |
Scalar | inner (DataContainer const &x, DataContainer const &y) const |
void | zero (DataContainer &x) const |
void | linComb (Scalar a, DataContainer const &x, Scalar b, DataContainer &y) const |
DataContainer * | buildDataContainer () const |
implements virtual DataContainer constructor via StdProductDataContainer class. | |
ostream & | write (ostream &str) const |
Protected Member Functions | |
Space< Scalar > * | clone () const |
Protected Attributes | |
size_t | size |
const Space< Scalar > & | subspc |
It requires the base space and the power as input, then implements all the Space methods.
This is a child of ProductSpace, since it makes logical sense to be so, and it can be compared to other ProductSpaces. However, the methods have been reimplemented from ProductSpace in order to avoid inefficiency.
Definition at line 339 of file productspace.hh.
RVL::CartesianPowerSpace< Scalar >::CartesianPowerSpace | ( | size_t | _size, | |
const Space< Scalar > & | _subspc | |||
) |
Definition at line 353 of file productspace.hh.
RVL::CartesianPowerSpace< Scalar >::CartesianPowerSpace | ( | const CartesianPowerSpace< Scalar > & | s | ) |
Definition at line 356 of file productspace.hh.
virtual RVL::CartesianPowerSpace< Scalar >::~CartesianPowerSpace | ( | ) | [virtual] |
Definition at line 359 of file productspace.hh.
Space<Scalar>* RVL::CartesianPowerSpace< Scalar >::clone | ( | ) | const [protected, virtual] |
size_t RVL::CartesianPowerSpace< Scalar >::getSize | ( | ) | const [virtual] |
returns number of components
Implements RVL::ROProduct< T >.
Definition at line 362 of file productspace.hh.
References RVL::CartesianPowerSpace< Scalar >::size.
Referenced by RVL::CartesianPowerSpace< Scalar >::buildDataContainer(), RVL::CartesianPowerSpace< Scalar >::inner(), RVL::CartesianPowerSpace< Scalar >::isCompatible(), RVL::CartesianPowerSpace< Scalar >::linComb(), RVL::CartesianPowerSpace< Scalar >::operator==(), RVL::CartesianPowerSpace< Scalar >::write(), and RVL::CartesianPowerSpace< Scalar >::zero().
Space<Scalar> const& RVL::CartesianPowerSpace< Scalar >::operator[] | ( | size_t | i | ) | const [virtual] |
returns ith component space
Implements RVL::ROProduct< T >.
Definition at line 365 of file productspace.hh.
References RVL::CartesianPowerSpace< Scalar >::subspc.
bool RVL::CartesianPowerSpace< Scalar >::isCompatible | ( | DataContainer const & | dc | ) | const [virtual] |
Reimplemented from RVL::ProductSpace< Scalar >.
Definition at line 369 of file productspace.hh.
References RVL::CartesianPowerSpace< Scalar >::getSize(), RVL::Product< T >::getSize(), and RVL::CartesianPowerSpace< Scalar >::subspc.
bool RVL::CartesianPowerSpace< Scalar >::operator== | ( | const Space< Scalar > & | sp | ) | const [virtual] |
Reimplemented from RVL::ProductSpace< Scalar >.
Definition at line 384 of file productspace.hh.
References RVL::ROProduct< T >::getSize(), RVL::CartesianPowerSpace< Scalar >::getSize(), and RVL::CartesianPowerSpace< Scalar >::subspc.
Scalar RVL::CartesianPowerSpace< Scalar >::inner | ( | DataContainer const & | x, | |
DataContainer const & | y | |||
) | const [virtual] |
Reimplemented from RVL::ProductSpace< Scalar >.
Definition at line 410 of file productspace.hh.
References RVL::CartesianPowerSpace< Scalar >::getSize(), RVL::Product< T >::getSize(), and RVL::CartesianPowerSpace< Scalar >::subspc.
void RVL::CartesianPowerSpace< Scalar >::zero | ( | DataContainer & | x | ) | const [virtual] |
Reimplemented from RVL::ProductSpace< Scalar >.
Definition at line 442 of file productspace.hh.
References RVL::CartesianPowerSpace< Scalar >::getSize(), RVL::Product< T >::getSize(), and RVL::CartesianPowerSpace< Scalar >::subspc.
void RVL::CartesianPowerSpace< Scalar >::linComb | ( | Scalar | a, | |
DataContainer const & | x, | |||
Scalar | b, | |||
DataContainer & | y | |||
) | const [virtual] |
Reimplemented from RVL::ProductSpace< Scalar >.
Definition at line 467 of file productspace.hh.
References RVL::CartesianPowerSpace< Scalar >::getSize(), RVL::Product< T >::getSize(), and RVL::CartesianPowerSpace< Scalar >::subspc.
DataContainer* RVL::CartesianPowerSpace< Scalar >::buildDataContainer | ( | ) | const [virtual] |
implements virtual DataContainer constructor via StdProductDataContainer class.
Implements RVL::Space< Scalar >.
Definition at line 497 of file productspace.hh.
References RVL::CartesianPowerSpace< Scalar >::getSize(), RVL::StdProductDataContainer::push(), and RVL::CartesianPowerSpace< Scalar >::subspc.
ostream& RVL::CartesianPowerSpace< Scalar >::write | ( | ostream & | str | ) | const [virtual] |
Reimplemented from RVL::ProductSpace< Scalar >.
Definition at line 505 of file productspace.hh.
References RVL::CartesianPowerSpace< Scalar >::getSize(), and RVL::CartesianPowerSpace< Scalar >::subspc.
size_t RVL::CartesianPowerSpace< Scalar >::size [protected] |
Definition at line 347 of file productspace.hh.
Referenced by RVL::CartesianPowerSpace< Scalar >::getSize().
const Space<Scalar>& RVL::CartesianPowerSpace< Scalar >::subspc [protected] |
Definition at line 348 of file productspace.hh.
Referenced by RVL::CartesianPowerSpace< Scalar >::buildDataContainer(), RVL::CartesianPowerSpace< Scalar >::inner(), RVL::CartesianPowerSpace< Scalar >::isCompatible(), RVL::CartesianPowerSpace< Scalar >::linComb(), RVL::CartesianPowerSpace< Scalar >::operator==(), RVL::CartesianPowerSpace< Scalar >::operator[](), RVL::CartesianPowerSpace< Scalar >::write(), and RVL::CartesianPowerSpace< Scalar >::zero().