RVL::Components< Scalar > Class Template Reference

Provides indexed access to components (factors) of a Vector in ProductSpace. More...

#include <productspace.hh>

Inheritance diagram for RVL::Components< Scalar >:

RVL::Product< T > List of all members.

Public Member Functions

 Components (const Vector< Scalar > &v)
 ~Components ()
 Destructor.
size_t getSize () const
 return number of components
Vector< Scalar > & operator[] (size_t i)
 return ith component; throw exception if index is out of bounds.
Vector< Scalar > const & operator[] (size_t i) const
ostream & write (ostream &str) const

Detailed Description

template<class Scalar>
class RVL::Components< Scalar >

Provides indexed access to components (factors) of a Vector in ProductSpace.

Set up to work properly for non-product vectors also - these have one component!

Definition at line 522 of file productspace.hh.


Constructor & Destructor Documentation

template<class Scalar>
RVL::Components< Scalar >::Components ( const Vector< Scalar > &  v  ) 

Definition at line 541 of file productspace.hh.

References RVL::Vector< Scalar >::getDataContainer(), RVL::Product< T >::getSize(), RVL::Vector< Scalar >::getSpace(), and RVL::Vector< Scalar >::getVersionRef().

template<class Scalar>
RVL::Components< Scalar >::~Components (  ) 

Destructor.

Deletes any owned objects.

Definition at line 568 of file productspace.hh.


Member Function Documentation

template<class Scalar>
size_t RVL::Components< Scalar >::getSize (  )  const [virtual]

return number of components

Implements RVL::Product< T >.

Definition at line 574 of file productspace.hh.

Referenced by RVL::DiagOp< Scalar >::apply(), RVL::ColumnLinearOp< Scalar >::applyAdj(), RVL::BlockLinearOp< Scalar >::applyAdj(), RVL::OperatorProductDomain< Scalar >::applyAdjDeriv(), RVL::DiagOp< Scalar >::applyAdjDeriv(), RVL::BlockOperator< Scalar >::applyAdjDeriv(), RVL::DiagOp< Scalar >::applyAdjDeriv2(), RVL::BlockOperator< Scalar >::applyAdjDeriv2(), RVL::DiagOp< Scalar >::applyDeriv(), RVL::BlockOperator< Scalar >::applyDeriv(), RVL::DiagOp< Scalar >::applyDeriv2(), RVL::BlockOperator< Scalar >::applyDeriv2(), RVL::FunctionalProductDomain< Scalar >::applyGradient(), and RVL::FunctionalProductDomain< Scalar >::applyHessian().

template<class Scalar>
Vector<Scalar>& RVL::Components< Scalar >::operator[] ( size_t  i  )  [virtual]

return ith component; throw exception if index is out of bounds.

Implements RVL::Product< T >.

Definition at line 576 of file productspace.hh.

template<class Scalar>
Vector<Scalar> const& RVL::Components< Scalar >::operator[] ( size_t  i  )  const [virtual]

Implements RVL::Product< T >.

Definition at line 584 of file productspace.hh.

template<class Scalar>
ostream& RVL::Components< Scalar >::write ( ostream &  str  )  const

Definition at line 593 of file productspace.hh.


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