42 #ifndef THYRA_TPETRA_VECTOR_DECL_HPP 43 #define THYRA_TPETRA_VECTOR_DECL_HPP 46 #include "Thyra_SpmdVectorDefaultBase.hpp" 48 #include "Tpetra_Vector.hpp" 49 #include "Teuchos_ConstNonconstObjectContainer.hpp" 59 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
61 :
virtual public SpmdVectorDefaultBase<Scalar>
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> >
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.
RCP< const TpetraVectorSpace< Scalar, LocalOrdinal, GlobalOrdinal, Node > > tpetraVectorSpace_
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.
Teuchos::ConstNonconstObjectContainer< Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > tpetraVector_
void getLocalVectorDataImpl(const Ptr< ArrayRCP< const Scalar > > &localValues) const
void getNonconstLocalVectorDataImpl(const Ptr< ArrayRCP< Scalar > > &localValues)
Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > TpetraMultiVector_t
void initializeImpl(const RCP< const TpetraVectorSpace< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVectorSpace, const RCP< TpetraVector_t > &tpetraVector)
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.