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 | Related Functions | List of all members
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]

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())). More...
 
const Scalar & operator() (Ordinal i) const
 Zero-based indexing (Preconditions: values()!=NULL && (0 <= i < subDim())). More...
 

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

Constructor & Destructor Documentation

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

Definition at line 147 of file RTOpPack_Types.hpp.

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

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

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

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

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

Definition at line 185 of file RTOpPack_Types.hpp.

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

Definition at line 188 of file RTOpPack_Types.hpp.

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

Definition at line 196 of file RTOpPack_Types.hpp.

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

Definition at line 198 of file RTOpPack_Types.hpp.

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

Definition at line 200 of file RTOpPack_Types.hpp.

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

Definition at line 202 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())).

Definition at line 205 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())).

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


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