RTOpPack::SubMultiVectorT< Scalar > Class Template Reference

Class for a non-mutable sub-multi-vector (submatrix). More...

#include <RTOpPack_Types.hpp>

Inheritance diagram for RTOpPack::SubMultiVectorT< Scalar >:

[legend]
List of all members.

Public Member Functions

 SubMultiVectorT ()
 
 SubMultiVectorT (RTOp_index_type globalOffset, RTOp_index_type subDim, RTOp_index_type colOffset, RTOp_index_type numSubCols, const Scalar *values, RTOp_index_type leadingDim)
 
 SubMultiVectorT (const SubMultiVectorT< Scalar > &smv)
 
void initialize (RTOp_index_type globalOffset, RTOp_index_type subDim, RTOp_index_type colOffset, RTOp_index_type numSubCols, const Scalar *values, RTOp_index_type leadingDim)
 
void set_uninitialized ()
 
void setGlobalOffset (RTOp_index_type globalOffset)
 
RTOp_index_type globalOffset () const
 
RTOp_index_type subDim () const
 
RTOp_index_type colOffset () const
 
RTOp_index_type numSubCols () const
 
const Scalar * values () const
 
RTOp_index_type leadingDim () const
 
const Scalar & operator() (RTOp_index_type i, RTOp_index_type j) const
 One-based indexing (Preconditions: values()!=NULL && (1<=i<=subDim()) && (1<=j<= numSubCols()).
SubVectorT< Scalar > col (const RTOp_index_type j) const
 Return a SubVectorT view of the jth sub-column (Preconditions: values()!=NULL && (1<=i<=subDim()) && (1<=j<= numSubCols()).

Detailed Description

template<class Scalar>
class RTOpPack::SubMultiVectorT< Scalar >

Class for a non-mutable sub-multi-vector (submatrix).

For a sub-multi-vector mv, the corresponding entries in the global multi-vector X(j) (one based) are as follows:


  X(mv.globalOffset()+k1,mv.colOffset()+k2) = mv(k1,k2), for k1=1...mv.subDim(), k2=1...mv.numSubCols()
 
Unlike vectors, there can only be a unit stride between vector elements in a particular column and there is a Fortran-like leading dimension mv.leadingDim() that separates corresponding elements in each column sub-vector.

The raw pointer to the first element, in the first column can be obtained from the function mv.values().

Warning! the default copy constructor and assignment operators are allowed which results in only pointer copy, not deep copy! You have been warned!

Definition at line 383 of file RTOpPack_Types.hpp.


Constructor & Destructor Documentation

template<class Scalar>
RTOpPack::SubMultiVectorT< Scalar >::SubMultiVectorT  )  [inline]
 

Definition at line 386 of file RTOpPack_Types.hpp.

template<class Scalar>
RTOpPack::SubMultiVectorT< Scalar >::SubMultiVectorT RTOp_index_type  globalOffset,
RTOp_index_type  subDim,
RTOp_index_type  colOffset,
RTOp_index_type  numSubCols,
const Scalar *  values,
RTOp_index_type  leadingDim
[inline]
 

Definition at line 391 of file RTOpPack_Types.hpp.

template<class Scalar>
RTOpPack::SubMultiVectorT< Scalar >::SubMultiVectorT const SubMultiVectorT< Scalar > &  smv  )  [inline]
 

Definition at line 401 of file RTOpPack_Types.hpp.


Member Function Documentation

template<class Scalar>
void RTOpPack::SubMultiVectorT< Scalar >::initialize RTOp_index_type  globalOffset,
RTOp_index_type  subDim,
RTOp_index_type  colOffset,
RTOp_index_type  numSubCols,
const Scalar *  values,
RTOp_index_type  leadingDim
[inline]
 

Reimplemented in RTOpPack::MutableSubMultiVectorT< Scalar >.

Definition at line 407 of file RTOpPack_Types.hpp.

template<class Scalar>
void RTOpPack::SubMultiVectorT< Scalar >::set_uninitialized  )  [inline]
 

Reimplemented in RTOpPack::MutableSubMultiVectorT< Scalar >.

Definition at line 415 of file RTOpPack_Types.hpp.

template<class Scalar>
void RTOpPack::SubMultiVectorT< Scalar >::setGlobalOffset RTOp_index_type  globalOffset  )  [inline]
 

Definition at line 418 of file RTOpPack_Types.hpp.

template<class Scalar>
RTOp_index_type RTOpPack::SubMultiVectorT< Scalar >::globalOffset  )  const [inline]
 

Definition at line 420 of file RTOpPack_Types.hpp.

template<class Scalar>
RTOp_index_type RTOpPack::SubMultiVectorT< Scalar >::subDim  )  const [inline]
 

Definition at line 422 of file RTOpPack_Types.hpp.

template<class Scalar>
RTOp_index_type RTOpPack::SubMultiVectorT< Scalar >::colOffset  )  const [inline]
 

Definition at line 424 of file RTOpPack_Types.hpp.

template<class Scalar>
RTOp_index_type RTOpPack::SubMultiVectorT< Scalar >::numSubCols  )  const [inline]
 

Definition at line 426 of file RTOpPack_Types.hpp.

template<class Scalar>
const Scalar* RTOpPack::SubMultiVectorT< Scalar >::values  )  const [inline]
 

Reimplemented in RTOpPack::MutableSubMultiVectorT< Scalar >.

Definition at line 428 of file RTOpPack_Types.hpp.

template<class Scalar>
RTOp_index_type RTOpPack::SubMultiVectorT< Scalar >::leadingDim  )  const [inline]
 

Definition at line 430 of file RTOpPack_Types.hpp.

template<class Scalar>
const Scalar& RTOpPack::SubMultiVectorT< Scalar >::operator() RTOp_index_type  i,
RTOp_index_type  j
const [inline]
 

One-based indexing (Preconditions: values()!=NULL && (1<=i<=subDim()) && (1<=j<= numSubCols()).

Reimplemented in RTOpPack::MutableSubMultiVectorT< Scalar >.

Definition at line 432 of file RTOpPack_Types.hpp.

template<class Scalar>
SubVectorT<Scalar> RTOpPack::SubMultiVectorT< Scalar >::col const RTOp_index_type  j  )  const [inline]
 

Return a SubVectorT view of the jth sub-column (Preconditions: values()!=NULL && (1<=i<=subDim()) && (1<=j<= numSubCols()).

Reimplemented in RTOpPack::MutableSubMultiVectorT< Scalar >.

Definition at line 435 of file RTOpPack_Types.hpp.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:39:44 2008 for RTOp : Vector Reduction/Transformation Operators by doxygen 1.3.9.1