42 #ifndef THYRA_TPETRA_VECTOR_DECL_HPP 43 #define THYRA_TPETRA_VECTOR_DECL_HPP 46 #include "Thyra_SpmdVectorDefaultBase.hpp" 47 #include "Thyra_TpetraVectorSpace_decl.hpp" 48 #include "Tpetra_Vector.hpp" 49 #include "Teuchos_ConstNonconstObjectContainer.hpp" 59 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
74 const RCP<Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &
tpetraVector 80 const RCP<
const Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &
tpetraVector 84 RCP<Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
88 RCP<const Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
96 RCP<const SpmdVectorSpaceBase<Scalar> >
spmdSpaceImpl()
const;
112 RCP<const TpetraVectorSpace<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
115 Teuchos::ConstNonconstObjectContainer<Tpetra::Vector<Scalar, LocalOrdinal,GlobalOrdinal,Node> >
118 typedef Tpetra::MultiVector<Scalar, LocalOrdinal,GlobalOrdinal,Node> TpetraMultiVector_t;
123 template<
class TpetraVector_t>
136 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
138 RCP<TpetraVector<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
141 const RCP<Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraVector
144 RCP<TpetraVector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > v =
146 v->initialize(tpetraVectorSpace, tpetraVector);
155 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
157 RCP<const TpetraVector<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
160 const RCP<
const Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraVector
163 RCP<TpetraVector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > v =
165 v->constInitialize(tpetraVectorSpace, tpetraVector);
173 #endif // THYRA_TPETRA_VECTOR_DECL_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.
Base class for SPMD vectors that can provide views of contiguous elements in a process.
TpetraVector()
Construct to uninitialized.
void getLocalVectorDataImpl(const Ptr< ArrayRCP< const Scalar > > &localValues) const
void getNonconstLocalVectorDataImpl(const Ptr< ArrayRCP< Scalar > > &localValues)
Concrete Thyra::SpmdVectorBase using Tpetra::Vector.
RCP< TpetraVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > tpetraVector(const RCP< const TpetraVectorSpace< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVectorSpace, const RCP< Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVector)
Nonmember constructor for TpetraVector.
RCP< Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getTpetraVector()
Get the embedded non-const Tpetra::Vector.
RCP< const TpetraVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > constTpetraVector(const RCP< const TpetraVectorSpace< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVectorSpace, const RCP< const Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVector)
Nonmember constructor for TpetraVector.
RCP< const SpmdVectorSpaceBase< Scalar > > spmdSpaceImpl() const
RCP< const Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getConstTpetraVector() const
Get the embedded non-const Tpetra::Vector.