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

Constructor & Destructor Documentation

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

Definition at line 115 of file RTOpPack_Types.hpp.

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

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

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

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

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

Definition at line 153 of file RTOpPack_Types.hpp.

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

Definition at line 156 of file RTOpPack_Types.hpp.

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

Definition at line 164 of file RTOpPack_Types.hpp.

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

Definition at line 166 of file RTOpPack_Types.hpp.

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

Definition at line 168 of file RTOpPack_Types.hpp.

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

Definition at line 170 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 173 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 182 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 273 of file RTOpPack_Types.hpp.


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