42 #ifndef THYRA_TPETRA_VECTOR_HPP 43 #define THYRA_TPETRA_VECTOR_HPP 55 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
60 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
63 const RCP<Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraVector
66 initializeImpl(tpetraVectorSpace, tpetraVector);
70 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
73 const RCP<
const Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraVector
76 initializeImpl(tpetraVectorSpace, tpetraVector);
80 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
81 RCP<Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
84 return tpetraVector_.getNonconstObj();
88 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
89 RCP<const Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
99 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
100 RCP<const SpmdVectorSpaceBase<Scalar> >
103 return tpetraVectorSpace_;
110 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
112 const Ptr<ArrayRCP<Scalar> > &localValues )
114 *localValues = tpetraVector_.getNonconstObj()->get1dViewNonConst();
118 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
120 const Ptr<ArrayRCP<const Scalar> > &localValues )
const 122 *localValues = tpetraVector_->get1dView();
129 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
130 template<
class TpetraVector_t>
133 const RCP<TpetraVector_t> &tpetraVector
137 TEUCHOS_ASSERT(nonnull(tpetraVectorSpace));
138 TEUCHOS_ASSERT(nonnull(tpetraVector));
140 tpetraVectorSpace_ = tpetraVectorSpace;
141 tpetraVector_.initialize(tpetraVector);
142 this->updateSpmdSpace();
149 #endif // THYRA_TPETRA_VECTOR_HPP void constInitialize(const RCP< const TpetraVectorSpace< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVectorSpace, const RCP< const Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVector)
Initialize.
Concrete implementation of an SPMD vector space for Tpetra.
void initialize(const RCP< const TpetraVectorSpace< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVectorSpace, const RCP< Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVector)
Initialize.
TpetraVector()
Construct to uninitialized.
void getLocalVectorDataImpl(const Ptr< ArrayRCP< const Scalar > > &localValues) const
void getNonconstLocalVectorDataImpl(const Ptr< ArrayRCP< Scalar > > &localValues)
void initializeImpl(const RCP< const TpetraVectorSpace< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVectorSpace, const RCP< TpetraVector_t > &tpetraVector)
RCP< Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getTpetraVector()
Get the embedded non-const Tpetra::Vector.
RCP< const SpmdVectorSpaceBase< Scalar > > spmdSpaceImpl() const
RCP< const Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getConstTpetraVector() const
Get the embedded non-const Tpetra::Vector.