This space implements the Cartesian power of a space. More...
#include <productspace.hh>
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 |
This space implements the Cartesian power of a space.
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] |
Implements RVL::Space< Scalar >.
Definition at line 350 of file productspace.hh.
size_t RVL::CartesianPowerSpace< Scalar >::getSize | ( | ) | const [virtual] |
returns number of components
Implements RVL::ROProduct< Space< Scalar > >.
Definition at line 362 of file productspace.hh.
Space<Scalar> const& RVL::CartesianPowerSpace< Scalar >::operator[] | ( | size_t | i | ) | const [virtual] |
returns ith component space
Implements RVL::ROProduct< Space< Scalar > >.
Definition at line 365 of file productspace.hh.
bool RVL::CartesianPowerSpace< Scalar >::isCompatible | ( | DataContainer const & | dc | ) | const [virtual] |
Reimplemented from RVL::ProductSpace< Scalar >.
Definition at line 369 of file productspace.hh.
bool RVL::CartesianPowerSpace< Scalar >::operator== | ( | const Space< Scalar > & | sp | ) | const [virtual] |
Reimplemented from RVL::ProductSpace< Scalar >.
Definition at line 384 of file productspace.hh.
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.
void RVL::CartesianPowerSpace< Scalar >::zero | ( | DataContainer & | x | ) | const [virtual] |
Reimplemented from RVL::ProductSpace< Scalar >.
Definition at line 442 of file productspace.hh.
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.
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.
ostream& RVL::CartesianPowerSpace< Scalar >::write | ( | ostream & | str | ) | const [virtual] |
Reimplemented from RVL::ProductSpace< Scalar >.
Definition at line 505 of file productspace.hh.
size_t RVL::CartesianPowerSpace< Scalar >::size [protected] |
Definition at line 347 of file productspace.hh.
const Space<Scalar>& RVL::CartesianPowerSpace< Scalar >::subspc [protected] |
Definition at line 348 of file productspace.hh.