43#ifndef THYRA_DEFAULT_SPMD_VECTOR_SPACE_DECL_HPP
44#define THYRA_DEFAULT_SPMD_VECTOR_SPACE_DECL_HPP
47#include "Thyra_SpmdVectorSpaceDefaultBase_decl.hpp"
48#include "Thyra_ProductVectorSpaceBase.hpp"
236template<
class Scalar>
248template<
class Scalar>
264template<
class Scalar>
269 const bool isLocallyReplicated =
false
274 vs->initialize(comm, localSubDim, globalDim, isLocallyReplicated);
284template<
class Scalar>
293 vs->initialize(comm, globalDim, globalDim,
true);
Concrete implementation of an SPMD vector space subclass which creates DefaultSpmdVector and DefaultS...
RCP< const Teuchos::Comm< Ordinal > > getComm() const
bool hasInCoreView(const Range1D &rng, const EViewType viewType, const EStrideType strideType) const
Returns true if all the elements in rng are in this process.
RCP< DefaultSpmdVectorSpace< Scalar > > defaultSpmdVectorSpace()
Nonmember consturctor that creats an uninitialized vector space.
RCP< DefaultSpmdVectorSpace< Scalar > > defaultSpmdVectorSpace(const Ordinal dim)
Nonmember consturctor that creats a serial vector space.
RCP< DefaultSpmdVectorSpace< Scalar > > defaultSpmdVectorSpace(const RCP< const Teuchos::Comm< Ordinal > > &comm, const Ordinal localSubDim, const Ordinal globalDim, const bool isLocallyReplicated=false)
Nonmember consturctor function that creates a distributed or locally-replicated parallel vector space...
RCP< MultiVectorBase< Scalar > > createMembers(int numMembers) const
RCP< DefaultSpmdVectorSpace< Scalar > > locallyReplicatedDefaultSpmdVectorSpace(const RCP< const Teuchos::Comm< Ordinal > > &comm, const Ordinal globalDim)
Nonmember consturctor function that creates a locally-replicated parallel vector space.
Ordinal localSubDim() const
static RCP< DefaultSpmdVectorSpace< Scalar > > create()
Create with weak ownership to self.
RCP< const VectorSpaceBase< Scalar > > clone() const
RCP< MultiVectorBase< Scalar > > createMembersView(const RTOpPack::SubMultiVectorView< Scalar > &raw_mv) const
void initialize(const Ordinal dim)
Initialize a serial space.
RCP< VectorBase< Scalar > > createMemberView(const RTOpPack::SubVectorView< Scalar > &raw_v) const
RCP< VectorBase< Scalar > > createMember() const
void uninitialize()
Set to an uninitialized state.
Base VectorSpaceBase class for all SPMD vector spaces with contiguous local-to-global indexing.
bool isLocallyReplicated() const
Returns true if vector space is locally replicated space.
Ordinal dim() const
Returns the sum of the local number of elements on every process.
EStrideType
Determine if data is unit stride or non-unit stride.
EViewType
Determines if a view is a direct view of data or a detached copy of data.
Teuchos::Ordinal Ordinal
Type for the dimension of a vector space. `*.