43 #ifndef THYRA_TPETRA_VECTOR_SPACE_DECL_HPP
44 #define THYRA_TPETRA_VECTOR_SPACE_DECL_HPP
47 #include "Thyra_SpmdVectorSpaceDefaultBase.hpp"
48 #include "Tpetra_Map.hpp"
49 #include "Tpetra_MultiVector.hpp"
59 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
75 const RCP<
const Tpetra::Map<LocalOrdinal,GlobalOrdinal,Node> > &tpetraMap
160 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
163 const RCP<
const Tpetra::Map<LocalOrdinal,GlobalOrdinal,Node> > &tpetraMap
168 vs->initialize(tpetraMap);
176 #endif // THYRA_TPETRA_VECTOR_SPACE_DECL_HPP
Ordinal localSubDim() const
Concrete implementation of an SPMD vector space for Tpetra.
RCP< MultiVectorBase< Scalar > > createCachedMembersView(const RTOpPack::SubMultiVectorView< Scalar > &raw_mv) const
Create a (possibly) cached multi-vector member that is a non-const view of raw multi-vector data...
Base VectorSpaceBase class for all SPMD vector spaces with contiguous local-to-global indexing...
RCP< const VectorSpaceBase< Scalar > > clone() const
RCP< TpetraVectorSpace< Scalar, LocalOrdinal, GlobalOrdinal, Node > > tpetraVectorSpace(const RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &tpetraMap)
Nonmember constructor that creats a serial vector space.
static RCP< TpetraVectorSpace< Scalar, LocalOrdinal, GlobalOrdinal, Node > > create()
Create with weak ownership to self.
void initialize(const RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &tpetraMap)
Initialize a serial space.
EViewType
Determines if a view is a direct view of data or a detached copy of data.
RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > getTpetraMap() const
Get the embedded Tpetra::Map.
Teuchos::Ordinal Ordinal
Type for the dimension of a vector space. `*.
TpetraVectorSpace< Scalar, LocalOrdinal, GlobalOrdinal, Node > this_t
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< VectorBase< Scalar > > createMember() const
RCP< MultiVectorBase< Scalar > > createMembers(int numMembers) const
EStrideType
Determine if data is unit stride or non-unit stride.
RCP< const Teuchos::Comm< Ordinal > > getComm() const