Fundamental Vector Reduction/Transformation Operator (RTOp) Interfaces Version of the Day
Public Member Functions | Related Functions
RTOpPack::ConstSubVectorView< Scalar > Class Template Reference

Class for a non-changeable sub-vector. More...

#include <RTOpPack_Types.hpp>

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

List of all members.

Public Member Functions

 ConstSubVectorView ()
 
 ConstSubVectorView (const ArrayRCP< const Scalar > &values_in)
 
 ConstSubVectorView (Ordinal globalOffset_in, Ordinal subDim_in, const ArrayRCP< const Scalar > &values_in, ptrdiff_t stride_in)
 
 ConstSubVectorView (const ConstSubVectorView< Scalar > &sv)
 
void initialize (Ordinal globalOffset_in, Ordinal subDim_in, const ArrayRCP< const Scalar > &values_in, ptrdiff_t stride_in)
 
void uninitialize ()
 
void setGlobalOffset (Ordinal globalOffset_in)
 
Ordinal globalOffset () const
 
Ordinal subDim () const
 
const ArrayRCP< const Scalar > values () const
 
ptrdiff_t stride () const
 
const Scalar & operator[] (Ordinal i) const
 Zero-based indexing (Preconditions: values()!=NULL && (0 <= i < subDim())).
const Scalar & operator() (Ordinal i) const
 Zero-based indexing (Preconditions: values()!=NULL && (0 <= i < subDim())).

Related Functions

(Note that these are not member functions.)

template<class Scalar >
std::ostream & operator<< (std::ostream &out, const ConstSubVectorView< Scalar > &sv)
 

Detailed Description

template<class Scalar>
class RTOpPack::ConstSubVectorView< Scalar >

Class for a non-changeable sub-vector.

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


   x( vec.globalOffset() + k ) = v(k), for k = 0...vec.subDim()-1

 

The stride vec.stride() may be positive (>0) or negative (<0) but not zero (0). A negative stride vec.stride() < 0 allows a reverse traversal of the elements.

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


Constructor & Destructor Documentation

template<class Scalar>
RTOpPack::ConstSubVectorView< Scalar >::ConstSubVectorView ( ) [inline]

Definition at line 144 of file RTOpPack_Types.hpp.

template<class Scalar>
RTOpPack::ConstSubVectorView< Scalar >::ConstSubVectorView ( const ArrayRCP< const Scalar > &  values_in) [inline]

Definition at line 146 of file RTOpPack_Types.hpp.

template<class Scalar>
RTOpPack::ConstSubVectorView< Scalar >::ConstSubVectorView ( Ordinal  globalOffset_in,
Ordinal  subDim_in,
const ArrayRCP< const Scalar > &  values_in,
ptrdiff_t  stride_in 
) [inline]

Definition at line 150 of file RTOpPack_Types.hpp.

template<class Scalar>
RTOpPack::ConstSubVectorView< Scalar >::ConstSubVectorView ( const ConstSubVectorView< Scalar > &  sv) [inline]

Definition at line 155 of file RTOpPack_Types.hpp.


Member Function Documentation

template<class Scalar>
void RTOpPack::ConstSubVectorView< Scalar >::initialize ( Ordinal  globalOffset_in,
Ordinal  subDim_in,
const ArrayRCP< const Scalar > &  values_in,
ptrdiff_t  stride_in 
) [inline]

Definition at line 160 of file RTOpPack_Types.hpp.

template<class Scalar>
void RTOpPack::ConstSubVectorView< Scalar >::uninitialize ( ) [inline]

Definition at line 183 of file RTOpPack_Types.hpp.

template<class Scalar>
void RTOpPack::ConstSubVectorView< Scalar >::setGlobalOffset ( Ordinal  globalOffset_in) [inline]

Definition at line 186 of file RTOpPack_Types.hpp.

template<class Scalar>
Ordinal RTOpPack::ConstSubVectorView< Scalar >::globalOffset ( ) const [inline]

Definition at line 194 of file RTOpPack_Types.hpp.

template<class Scalar>
Ordinal RTOpPack::ConstSubVectorView< Scalar >::subDim ( ) const [inline]

Definition at line 196 of file RTOpPack_Types.hpp.

template<class Scalar>
const ArrayRCP<const Scalar> RTOpPack::ConstSubVectorView< Scalar >::values ( ) const [inline]

Reimplemented in RTOpPack::SubVectorView< Scalar >.

Definition at line 198 of file RTOpPack_Types.hpp.

template<class Scalar>
ptrdiff_t RTOpPack::ConstSubVectorView< Scalar >::stride ( ) const [inline]

Definition at line 200 of file RTOpPack_Types.hpp.

template<class Scalar>
const Scalar& RTOpPack::ConstSubVectorView< Scalar >::operator[] ( Ordinal  i) const [inline]

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

Reimplemented in RTOpPack::SubVectorView< Scalar >.

Definition at line 203 of file RTOpPack_Types.hpp.

template<class Scalar>
const Scalar& RTOpPack::ConstSubVectorView< Scalar >::operator() ( Ordinal  i) const [inline]

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

Reimplemented in RTOpPack::SubVectorView< Scalar >.

Definition at line 212 of file RTOpPack_Types.hpp.


Friends And Related Function Documentation

template<class Scalar >
std::ostream & operator<< ( std::ostream &  out,
const ConstSubVectorView< Scalar > &  sv 
) [related]

Definition at line 303 of file RTOpPack_Types.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends