10 #ifndef THYRA_DEFAULT_SPMD_VECTOR_DEF_HPP
11 #define THYRA_DEFAULT_SPMD_VECTOR_DEF_HPP
14 #include "Thyra_DefaultSpmdVector_decl.hpp"
15 #include "Thyra_SpmdVectorDefaultBase.hpp"
16 #include "Thyra_SpmdVectorSpaceDefaultBase.hpp"
25 template<
class Scalar>
31 template<
class Scalar>
42 template<
class Scalar>
54 spmdSpace_ = spmdSpace_in;
55 localValues_ = localValues;
57 this->updateSpmdSpace();
61 template<
class Scalar>
68 if(spmdSpace_in) *spmdSpace_in = spmdSpace_;
69 if(localValues) *localValues = localValues_;
70 if(stride) *stride = stride_;
72 spmdSpace_ = Teuchos::null;
73 localValues_ = Teuchos::null;
76 this->updateSpmdSpace();
83 template<
class Scalar>
94 template<
class Scalar>
98 *localValues = localValues_;
102 template<
class Scalar>
106 *localValues = localValues_;
113 #endif // THYRA_DEFAULT_SPMD_VECTOR_DEF_HPP
RCP< const SpmdVectorSpaceBase< Scalar > > spmdSpaceImpl() const
void initialize(int *argc, char ***argv)
bool is_null(const boost::shared_ptr< T > &p)
void uninitialize(RCP< const SpmdVectorSpaceBase< Scalar > > *spmdSpace=NULL, ArrayRCP< Scalar > *localValues=NULL, Ordinal *stride=NULL)
Set to an uninitialized state.
void initialize(const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdSpace, const ArrayRCP< Scalar > &localValues, const Ordinal stride)
Initialize.
void getNonconstLocalVectorDataImpl(const Ptr< ArrayRCP< Scalar > > &localValues)
Teuchos::Ordinal Ordinal
Type for the dimension of a vector space. `*.
void getLocalVectorDataImpl(const Ptr< ArrayRCP< const Scalar > > &localValues) const
DefaultSpmdVector()
Construct to uninitialized.
Base abstract VectorSpaceBase class for all SPMD-based vector spaces.
#define TEUCHOS_TEST_FOR_EXCEPT(throw_exception_test)