|
Thyra Package Browser (Single Doxygen Collection) Version of the Day
|
Efficient concrete implementation subclass for SPMD vectors. More...
#include <Thyra_DefaultSpmdVector_decl.hpp>

Private Attributes | |
| RCP< const SpmdVectorSpaceBase < Scalar > > | spmdSpace_ |
| ArrayRCP< Scalar > | localValues_ |
| Ordinal | stride_ |
Constructors/initializers | |
| DefaultSpmdVector () | |
| Construct to uninitialized. | |
| DefaultSpmdVector (const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdSpace, const ArrayRCP< Scalar > &localValues, const Ordinal stride) | |
Calls initialize(). | |
| void | initialize (const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdSpace, const ArrayRCP< Scalar > &localValues, const Ordinal stride) |
| Initialize. | |
| void | uninitialize (RCP< const SpmdVectorSpaceBase< Scalar > > *spmdSpace=NULL, ArrayRCP< Scalar > *localValues=NULL, Ordinal *stride=NULL) |
| Set to an uninitialized state. | |
Accessors (inlined for minimal overhead) | |
| ArrayRCP< Scalar > | getRCPtr () |
| | |
| ArrayRCP< const Scalar > | getRCPtr () const |
| | |
| Scalar * | getPtr () |
| | |
| const Scalar * | getPtr () const |
| | |
| Ordinal | getStride () const |
| | |
Overridden from SpmdVectorBase | |
| RCP< const SpmdVectorSpaceBase < Scalar > > | spmdSpace () const |
| | |
| void | getNonconstLocalDataImpl (const Ptr< ArrayRCP< Scalar > > &localValues) |
| | |
| void | getLocalDataImpl (const Ptr< ArrayRCP< const Scalar > > &localValues) const |
| | |
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 an ArrayRCP is used to pass in the local values pointer into the constructor and initialize().
Definition at line 56 of file Thyra_DefaultSpmdVector_decl.hpp.
| Thyra::DefaultSpmdVector< Scalar >::DefaultSpmdVector | ( | ) |
Construct to uninitialized.
Definition at line 45 of file Thyra_DefaultSpmdVector_def.hpp.
| Thyra::DefaultSpmdVector< Scalar >::DefaultSpmdVector | ( | const RCP< const SpmdVectorSpaceBase< Scalar > > & | spmdSpace, |
| const ArrayRCP< Scalar > & | localValues, | ||
| const Ordinal | stride | ||
| ) |
Calls initialize().
Definition at line 51 of file Thyra_DefaultSpmdVector_def.hpp.
| void Thyra::DefaultSpmdVector< Scalar >::initialize | ( | const RCP< const SpmdVectorSpaceBase< Scalar > > & | spmdSpace, |
| const ArrayRCP< Scalar > & | localValues, | ||
| const Ordinal | stride | ||
| ) |
Initialize.
| 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:
spmdSpace.get()!=NULL localValues.get()!=NULL stride != 0 Postconditions:
this->getRCptr().get() == localValues.get() this->getPtr() == &*localValues this->getStride() == stride Definition at line 62 of file Thyra_DefaultSpmdVector_def.hpp.
| void Thyra::DefaultSpmdVector< Scalar >::uninitialize | ( | RCP< const SpmdVectorSpaceBase< Scalar > > * | spmdSpace = NULL, |
| ArrayRCP< Scalar > * | localValues = NULL, |
||
| Ordinal * | stride = NULL |
||
| ) |
Set to an uninitialized state.
Postconditions:
this->spmdSpace().get() == NULL. Definition at line 81 of file Thyra_DefaultSpmdVector_def.hpp.
| ArrayRCP< Scalar > Thyra::DefaultSpmdVector< Scalar >::getRCPtr | ( | ) | [inline] |
Definition at line 164 of file Thyra_DefaultSpmdVector_decl.hpp.
| ArrayRCP< const Scalar > Thyra::DefaultSpmdVector< Scalar >::getRCPtr | ( | ) | const [inline] |
Definition at line 173 of file Thyra_DefaultSpmdVector_decl.hpp.
| Scalar * Thyra::DefaultSpmdVector< Scalar >::getPtr | ( | ) | [inline] |
Definition at line 181 of file Thyra_DefaultSpmdVector_decl.hpp.
| const Scalar * Thyra::DefaultSpmdVector< Scalar >::getPtr | ( | ) | const [inline] |
Definition at line 189 of file Thyra_DefaultSpmdVector_decl.hpp.
| Ordinal Thyra::DefaultSpmdVector< Scalar >::getStride | ( | ) | const [inline] |
Definition at line 197 of file Thyra_DefaultSpmdVector_decl.hpp.
| RCP< const SpmdVectorSpaceBase< Scalar > > Thyra::DefaultSpmdVector< Scalar >::spmdSpace | ( | ) | const [virtual] |
Implements Thyra::SpmdVectorBase< Scalar >.
Definition at line 104 of file Thyra_DefaultSpmdVector_def.hpp.
| void Thyra::DefaultSpmdVector< Scalar >::getNonconstLocalDataImpl | ( | const Ptr< ArrayRCP< Scalar > > & | localValues | ) | [virtual] |
Implements Thyra::SpmdVectorBase< Scalar >.
Definition at line 111 of file Thyra_DefaultSpmdVector_def.hpp.
| void Thyra::DefaultSpmdVector< Scalar >::getLocalDataImpl | ( | const Ptr< ArrayRCP< const Scalar > > & | localValues | ) | const [virtual] |
Implements Thyra::SpmdVectorBase< Scalar >.
Definition at line 119 of file Thyra_DefaultSpmdVector_def.hpp.
RCP<const SpmdVectorSpaceBase<Scalar> > Thyra::DefaultSpmdVector< Scalar >::spmdSpace_ [private] |
Definition at line 150 of file Thyra_DefaultSpmdVector_decl.hpp.
ArrayRCP<Scalar> Thyra::DefaultSpmdVector< Scalar >::localValues_ [private] |
Definition at line 151 of file Thyra_DefaultSpmdVector_decl.hpp.
Ordinal Thyra::DefaultSpmdVector< Scalar >::stride_ [private] |
Definition at line 152 of file Thyra_DefaultSpmdVector_decl.hpp.
1.7.4