Thyra::DefaultSpmdVector< Scalar > Class Template Reference
[Efficient Generic SPMD Concrete Thyra Operator/Vector Subclass Implementations]

Efficient concrete implementation subclass for SPMD vectors. More...

#include <Thyra_DefaultSpmdVectorDecl.hpp>

Inheritance diagram for Thyra::DefaultSpmdVector< Scalar >:

[legend]
List of all members.

Constructors/initializers

 DefaultSpmdVector ()
 Construct to uninitialized.
 DefaultSpmdVector (const Teuchos::RCP< const SpmdVectorSpaceBase< Scalar > > &spmdSpace, const Teuchos::RCP< Scalar > &localValues, const Index stride)
 Calls initialize().
void initialize (const Teuchos::RCP< const SpmdVectorSpaceBase< Scalar > > &spmdSpace, const Teuchos::RCP< Scalar > &localValues, const Index stride)
 Initialize.
void uninitialize (Teuchos::RCP< const SpmdVectorSpaceBase< Scalar > > *spmdSpace=NULL, Teuchos::RCP< Scalar > *localValues=NULL, Index *stride=NULL)
 Set to an uninitialized state.

Accessors (inlined for minimal overhead)

Teuchos::RCP< Scalar > getRCPtr ()
 
Teuchos::RCP< const Scalar > getRCPtr () const
 
Scalar * getPtr ()
 
const Scalar * getPtr () const
 
Index getStride () const
 

Overridden from SpmdVectorBase

Teuchos::RCP< const SpmdVectorSpaceBase<
Scalar > > 
spmdSpace () const
 
void getLocalData (Scalar **localValues, Index *stride)
 
void commitLocalData (Scalar *localValues)
 
void getLocalData (const Scalar **localValues, Index *stride) const
 
void freeLocalData (const Scalar *localValues) const
 

Detailed Description

template<class Scalar>
class Thyra::DefaultSpmdVector< Scalar >

Efficient concrete implementation subclass for SPMD vectors.

This subclass provides a very efficient and very general concrete implementation of a Thyra::VectorBase object for any SPMD platform.

Objects of this type generally should not be constructed directly by a client but instead by using the concrete vector space subclass Thyra::DefaultSpmdVectorSpace and using the function Thyra::createMember().

The storage type can be anything since a Teuchos::RCP is used to pass in the local values pointer into the constructor and initialize().

Definition at line 54 of file Thyra_DefaultSpmdVectorDecl.hpp.


Constructor & Destructor Documentation

template<class Scalar>
Thyra::DefaultSpmdVector< Scalar >::DefaultSpmdVector (  ) 

Construct to uninitialized.

Definition at line 41 of file Thyra_DefaultSpmdVector.hpp.

template<class Scalar>
Thyra::DefaultSpmdVector< Scalar >::DefaultSpmdVector ( const Teuchos::RCP< const SpmdVectorSpaceBase< Scalar > > &  spmdSpace,
const Teuchos::RCP< Scalar > &  localValues,
const Index  stride 
)

Calls initialize().

Definition at line 46 of file Thyra_DefaultSpmdVector.hpp.


Member Function Documentation

template<class Scalar>
void Thyra::DefaultSpmdVector< Scalar >::initialize ( const Teuchos::RCP< const SpmdVectorSpaceBase< Scalar > > &  spmdSpace,
const Teuchos::RCP< Scalar > &  localValues,
const Index  stride 
)

Initialize.

Parameters:
spmdSpace [in] Smart pointer to SpmdVectorSpaceBase object that defines the data distribution for spmdSpace() and space().
localValues [in] Smart pointer to beginning of local strided vector data. This array must be at least of dimension mpiRangeSpace->localDim()*stride and (&*localValues)[ i*stride ] gives the local value of the zero-based entry (i) where i=0...spmdSpace()->localSubDim()-1.
stride [in] Stride between local vector elements.
Preconditions:

Postconditions:

Definition at line 56 of file Thyra_DefaultSpmdVector.hpp.

template<class Scalar>
void Thyra::DefaultSpmdVector< Scalar >::uninitialize ( Teuchos::RCP< const SpmdVectorSpaceBase< Scalar > > *  spmdSpace = NULL,
Teuchos::RCP< Scalar > *  localValues = NULL,
Index stride = NULL 
)

Set to an uninitialized state.

Postconditions:

Definition at line 74 of file Thyra_DefaultSpmdVector.hpp.

template<class Scalar>
Teuchos::RCP< Scalar > Thyra::DefaultSpmdVector< Scalar >::getRCPtr (  )  [inline]

Definition at line 164 of file Thyra_DefaultSpmdVectorDecl.hpp.

template<class Scalar>
Teuchos::RCP< const Scalar > Thyra::DefaultSpmdVector< Scalar >::getRCPtr (  )  const [inline]

Definition at line 172 of file Thyra_DefaultSpmdVectorDecl.hpp.

template<class Scalar>
Scalar * Thyra::DefaultSpmdVector< Scalar >::getPtr (  )  [inline]

Definition at line 179 of file Thyra_DefaultSpmdVectorDecl.hpp.

template<class Scalar>
const Scalar * Thyra::DefaultSpmdVector< Scalar >::getPtr (  )  const [inline]

Definition at line 186 of file Thyra_DefaultSpmdVectorDecl.hpp.

template<class Scalar>
Index Thyra::DefaultSpmdVector< Scalar >::getStride (  )  const [inline]

Definition at line 193 of file Thyra_DefaultSpmdVectorDecl.hpp.

template<class Scalar>
Teuchos::RCP< const SpmdVectorSpaceBase< Scalar > > Thyra::DefaultSpmdVector< Scalar >::spmdSpace (  )  const [virtual]

Implements Thyra::SpmdVectorBase< Scalar >.

Definition at line 95 of file Thyra_DefaultSpmdVector.hpp.

template<class Scalar>
void Thyra::DefaultSpmdVector< Scalar >::getLocalData ( Scalar **  localValues,
Index stride 
) [virtual]

Implements Thyra::SpmdVectorBase< Scalar >.

Definition at line 101 of file Thyra_DefaultSpmdVector.hpp.

template<class Scalar>
void Thyra::DefaultSpmdVector< Scalar >::commitLocalData ( Scalar *  localValues  )  [virtual]

Implements Thyra::SpmdVectorBase< Scalar >.

Definition at line 114 of file Thyra_DefaultSpmdVector.hpp.

template<class Scalar>
void Thyra::DefaultSpmdVector< Scalar >::getLocalData ( const Scalar **  localValues,
Index stride 
) const [virtual]

Reimplemented from Thyra::SpmdVectorBase< Scalar >.

Definition at line 123 of file Thyra_DefaultSpmdVector.hpp.

template<class Scalar>
void Thyra::DefaultSpmdVector< Scalar >::freeLocalData ( const Scalar *  localValues  )  const [virtual]

Reimplemented from Thyra::SpmdVectorBase< Scalar >.

Definition at line 136 of file Thyra_DefaultSpmdVector.hpp.


The documentation for this class was generated from the following files:
Generated on Tue Oct 20 12:47:01 2009 for Thyra Operator/Vector Support by doxygen 1.4.7