42 #ifndef THYRA_DEFAULT_SPMD_VECTOR_DEF_HPP
43 #define THYRA_DEFAULT_SPMD_VECTOR_DEF_HPP
46 #include "Thyra_DefaultSpmdVector_decl.hpp"
47 #include "Thyra_SpmdVectorDefaultBase.hpp"
48 #include "Thyra_SpmdVectorSpaceDefaultBase.hpp"
57 template<
class Scalar>
63 template<
class Scalar>
70 initialize(spmdSpace_in, localValues, stride);
74 template<
class Scalar>
86 spmdSpace_ = spmdSpace_in;
87 localValues_ = localValues;
89 this->updateSpmdSpace();
93 template<
class Scalar>
100 if(spmdSpace_in) *spmdSpace_in = spmdSpace_;
101 if(localValues) *localValues = localValues_;
102 if(stride) *stride = stride_;
104 spmdSpace_ = Teuchos::null;
105 localValues_ = Teuchos::null;
108 this->updateSpmdSpace();
115 template<
class Scalar>
126 template<
class Scalar>
130 *localValues = localValues_;
134 template<
class Scalar>
138 *localValues = localValues_;
145 #endif // THYRA_DEFAULT_SPMD_VECTOR_DEF_HPP
RCP< const SpmdVectorSpaceBase< Scalar > > spmdSpaceImpl() const
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)