Fundamental Vector Reduction/Transformation Operator (RTOp) Interfaces  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
RTOpPack::ConstSubMultiVectorView< Scalar > Class Template Reference

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

#include <RTOpPack_Types.hpp>

Inheritance diagram for RTOpPack::ConstSubMultiVectorView< Scalar >:
Inheritance graph
[legend]

Public Member Functions

 ConstSubMultiVectorView ()
 
 ConstSubMultiVectorView (Ordinal globalOffset_in, Ordinal subDim_in, Ordinal colOffset_in, Ordinal numSubCols_in, const ArrayRCP< const Scalar > &values_in, Ordinal leadingDim_in)
 
 ConstSubMultiVectorView (const ConstSubMultiVectorView< Scalar > &smv)
 
void initialize (Ordinal globalOffset_in, Ordinal subDim_in, Ordinal colOffset_in, Ordinal numSubCols_in, const ArrayRCP< const Scalar > &values_in, Ordinal leadingDim_in)
 
void uninitialize ()
 
void setGlobalOffset (Ordinal globalOffset_in)
 
Ordinal globalOffset () const
 
Ordinal subDim () const
 
Ordinal colOffset () const
 
Ordinal numSubCols () const
 
const ArrayRCP< const Scalar > values () const
 
Ordinal leadingDim () const
 
const Scalar & operator() (Ordinal i, Ordinal j) const
 Zero-based indexing (Preconditions: values()!=NULL && (0<=i<subDim()) && (0<=j< numSubCols()). More...
 
ConstSubVectorView< Scalar > col (const Ordinal j) const
 Return a ConstSubVectorView view of the jth sub-column (Preconditions: values()!=NULL && (0<=j<numSubCols()). More...
 

Detailed Description

template<class Scalar>
class RTOpPack::ConstSubMultiVectorView< Scalar >

Class for a non-changeable 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 = 0...mv.subDim()-1, k2 = 0...mv.numSubCols()-1

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.

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 345 of file RTOpPack_Types.hpp.

Constructor & Destructor Documentation

template<class Scalar>
RTOpPack::ConstSubMultiVectorView< Scalar >::ConstSubMultiVectorView ( )
inline

Definition at line 348 of file RTOpPack_Types.hpp.

template<class Scalar>
RTOpPack::ConstSubMultiVectorView< Scalar >::ConstSubMultiVectorView ( Ordinal  globalOffset_in,
Ordinal  subDim_in,
Ordinal  colOffset_in,
Ordinal  numSubCols_in,
const ArrayRCP< const Scalar > &  values_in,
Ordinal  leadingDim_in 
)
inline

Definition at line 353 of file RTOpPack_Types.hpp.

template<class Scalar>
RTOpPack::ConstSubMultiVectorView< Scalar >::ConstSubMultiVectorView ( const ConstSubMultiVectorView< Scalar > &  smv)
inline

Definition at line 365 of file RTOpPack_Types.hpp.

Member Function Documentation

template<class Scalar>
void RTOpPack::ConstSubMultiVectorView< Scalar >::initialize ( Ordinal  globalOffset_in,
Ordinal  subDim_in,
Ordinal  colOffset_in,
Ordinal  numSubCols_in,
const ArrayRCP< const Scalar > &  values_in,
Ordinal  leadingDim_in 
)
inline

Definition at line 371 of file RTOpPack_Types.hpp.

template<class Scalar>
void RTOpPack::ConstSubMultiVectorView< Scalar >::uninitialize ( )
inline

Definition at line 398 of file RTOpPack_Types.hpp.

template<class Scalar>
void RTOpPack::ConstSubMultiVectorView< Scalar >::setGlobalOffset ( Ordinal  globalOffset_in)
inline

Definition at line 404 of file RTOpPack_Types.hpp.

template<class Scalar>
Ordinal RTOpPack::ConstSubMultiVectorView< Scalar >::globalOffset ( ) const
inline

Definition at line 412 of file RTOpPack_Types.hpp.

template<class Scalar>
Ordinal RTOpPack::ConstSubMultiVectorView< Scalar >::subDim ( ) const
inline

Definition at line 414 of file RTOpPack_Types.hpp.

template<class Scalar>
Ordinal RTOpPack::ConstSubMultiVectorView< Scalar >::colOffset ( ) const
inline

Definition at line 416 of file RTOpPack_Types.hpp.

template<class Scalar>
Ordinal RTOpPack::ConstSubMultiVectorView< Scalar >::numSubCols ( ) const
inline

Definition at line 418 of file RTOpPack_Types.hpp.

template<class Scalar>
const ArrayRCP<const Scalar> RTOpPack::ConstSubMultiVectorView< Scalar >::values ( ) const
inline

Definition at line 420 of file RTOpPack_Types.hpp.

template<class Scalar>
Ordinal RTOpPack::ConstSubMultiVectorView< Scalar >::leadingDim ( ) const
inline

Definition at line 422 of file RTOpPack_Types.hpp.

template<class Scalar>
const Scalar& RTOpPack::ConstSubMultiVectorView< Scalar >::operator() ( Ordinal  i,
Ordinal  j 
) const
inline

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

Definition at line 426 of file RTOpPack_Types.hpp.

template<class Scalar>
ConstSubVectorView<Scalar> RTOpPack::ConstSubMultiVectorView< Scalar >::col ( const Ordinal  j) const
inline

Return a ConstSubVectorView view of the jth sub-column (Preconditions: values()!=NULL && (0<=j<numSubCols()).

Definition at line 437 of file RTOpPack_Types.hpp.


The documentation for this class was generated from the following file: