RTOp Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | 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...
 

Private Attributes

Ordinal globalOffset_
 
Ordinal subDim_
 
Ordinal colOffset_
 
Ordinal numSubCols_
 
ArrayRCP< const Scalar > values_
 
Ordinal leadingDim_
 

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

Constructor & Destructor Documentation

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

Definition at line 316 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 321 of file RTOpPack_Types.hpp.

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

Definition at line 333 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 339 of file RTOpPack_Types.hpp.

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

Definition at line 366 of file RTOpPack_Types.hpp.

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

Definition at line 372 of file RTOpPack_Types.hpp.

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

Definition at line 380 of file RTOpPack_Types.hpp.

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

Definition at line 382 of file RTOpPack_Types.hpp.

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

Definition at line 384 of file RTOpPack_Types.hpp.

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

Definition at line 386 of file RTOpPack_Types.hpp.

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

Definition at line 388 of file RTOpPack_Types.hpp.

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

Definition at line 390 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 394 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 405 of file RTOpPack_Types.hpp.

Member Data Documentation

template<class Scalar>
Ordinal RTOpPack::ConstSubMultiVectorView< Scalar >::globalOffset_
private

Definition at line 414 of file RTOpPack_Types.hpp.

template<class Scalar>
Ordinal RTOpPack::ConstSubMultiVectorView< Scalar >::subDim_
private

Definition at line 415 of file RTOpPack_Types.hpp.

template<class Scalar>
Ordinal RTOpPack::ConstSubMultiVectorView< Scalar >::colOffset_
private

Definition at line 416 of file RTOpPack_Types.hpp.

template<class Scalar>
Ordinal RTOpPack::ConstSubMultiVectorView< Scalar >::numSubCols_
private

Definition at line 417 of file RTOpPack_Types.hpp.

template<class Scalar>
ArrayRCP<const Scalar> RTOpPack::ConstSubMultiVectorView< Scalar >::values_
private

Definition at line 418 of file RTOpPack_Types.hpp.

template<class Scalar>
Ordinal RTOpPack::ConstSubMultiVectorView< Scalar >::leadingDim_
private

Definition at line 419 of file RTOpPack_Types.hpp.


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