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 Member Functions | Private Attributes | 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...
 

Private Member Functions

const ArrayRCP< const Scalar >
::iterator 
valuesBegin () const
 

Private Attributes

Ordinal globalOffset_
 
Ordinal subDim_
 
ArrayRCP< const Scalar > values_
 
ptrdiff_t stride_
 

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.

template<class Scalar>
const ArrayRCP<const Scalar>::iterator RTOpPack::ConstSubVectorView< Scalar >::valuesBegin ( ) const
inlineprivate

Definition at line 220 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.

Member Data Documentation

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

Definition at line 216 of file RTOpPack_Types.hpp.

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

Definition at line 217 of file RTOpPack_Types.hpp.

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

Definition at line 218 of file RTOpPack_Types.hpp.

template<class Scalar>
ptrdiff_t RTOpPack::ConstSubVectorView< Scalar >::stride_
private

Definition at line 219 of file RTOpPack_Types.hpp.


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