42 #ifndef THYRA_TPETRA_THYRA_WRAPPERS_DECL_HPP 
   43 #define THYRA_TPETRA_THYRA_WRAPPERS_DECL_HPP 
   46 #include "Thyra_OperatorVectorTypes.hpp" 
   63 RCP<const Teuchos::Comm<Ordinal> >
 
   71 template <
class Scalar, 
class LocalOrdinal, 
class GlobalOrdinal, 
class Node>
 
   72 RCP<const VectorSpaceBase<Scalar> >
 
   73 createVectorSpace(
const RCP<
const Tpetra::Map<LocalOrdinal,GlobalOrdinal,Node> > &tpetraMap);
 
   80 template <
class Scalar, 
class LocalOrdinal, 
class GlobalOrdinal, 
class Node>
 
   81 RCP<VectorBase<Scalar> >
 
   83   const RCP<Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraVector,
 
   84   const RCP<
const VectorSpaceBase<Scalar> > space = 
Teuchos::null 
   92 template <
class Scalar, 
class LocalOrdinal, 
class GlobalOrdinal, 
class Node>
 
   93 RCP<const VectorBase<Scalar> >
 
   95   const RCP<
const Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraVector,
 
   96   const RCP<
const VectorSpaceBase<Scalar> > space = 
Teuchos::null 
  104 template <
class Scalar, 
class LocalOrdinal, 
class GlobalOrdinal, 
class Node>
 
  105 RCP<MultiVectorBase<Scalar> >
 
  107   const RCP<Tpetra::MultiVector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraMultiVector,
 
  108   const RCP<
const VectorSpaceBase<Scalar> > rangeSpace = 
Teuchos::null,
 
  109   const RCP<
const VectorSpaceBase<Scalar> > domainSpace = 
Teuchos::null 
  117 template <
class Scalar, 
class LocalOrdinal, 
class GlobalOrdinal, 
class Node>
 
  118 RCP<const MultiVectorBase<Scalar> >
 
  120   const RCP<
const Tpetra::MultiVector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraMultiVector,
 
  121   const RCP<
const VectorSpaceBase<Scalar> > rangeSpace = 
Teuchos::null,
 
  122   const RCP<
const VectorSpaceBase<Scalar> > domainSpace = 
Teuchos::null 
  130 template <
class Scalar, 
class LocalOrdinal, 
class GlobalOrdinal, 
class Node>
 
  131 RCP<LinearOpBase<Scalar> >
 
  133   const RCP<Tpetra::Operator<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraOperator,
 
  134   const RCP<
const VectorSpaceBase<Scalar> > rangeSpace = 
Teuchos::null,
 
  135   const RCP<
const VectorSpaceBase<Scalar> > domainSpace = 
Teuchos::null 
  143 template <
class Scalar, 
class LocalOrdinal, 
class GlobalOrdinal, 
class Node>
 
  144 RCP<const LinearOpBase<Scalar> >
 
  146   const RCP<
const Tpetra::Operator<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraOperator,
 
  147   const RCP<
const VectorSpaceBase<Scalar> > rangeSpace = 
Teuchos::null,
 
  148   const RCP<
const VectorSpaceBase<Scalar> > domainSpace = 
Teuchos::null 
  172 template <class Scalar = Tpetra::Vector<>::scalar_type,
 
  173           class LocalOrdinal = Tpetra::Vector<>::local_ordinal_type,
 
  174           class GlobalOrdinal = Tpetra::Vector<>::global_ordinal_type,
 
  175           class Node = Tpetra::Vector<>::node_type>
 
  226 #endif // THYRA_TPETRA_THYRA_WRAPPERS_DECL_HPP 
RCP< MultiVectorBase< Scalar > > createMultiVector(const RCP< Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraMultiVector, const RCP< const VectorSpaceBase< Scalar > > rangeSpace=Teuchos::null, const RCP< const VectorSpaceBase< Scalar > > domainSpace=Teuchos::null)
 
RCP< const VectorBase< Scalar > > createConstVector(const RCP< const Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVector, const RCP< const VectorSpaceBase< Scalar > > space=Teuchos::null)
 
RCP< const LinearOpBase< Scalar > > createConstLinearOp(const RCP< const Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraOperator, const RCP< const VectorSpaceBase< Scalar > > rangeSpace=Teuchos::null, const RCP< const VectorSpaceBase< Scalar > > domainSpace=Teuchos::null)
 
RCP< LinearOpBase< Scalar > > createLinearOp(const RCP< Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraOperator, const RCP< const VectorSpaceBase< Scalar > > rangeSpace=Teuchos::null, const RCP< const VectorSpaceBase< Scalar > > domainSpace=Teuchos::null)
 
RCP< VectorBase< Scalar > > createVector(const RCP< Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVector, const RCP< const VectorSpaceBase< Scalar > > space=Teuchos::null)
 
RCP< const MultiVectorBase< Scalar > > createConstMultiVector(const RCP< const Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraMultiVector, const RCP< const VectorSpaceBase< Scalar > > rangeSpace=Teuchos::null, const RCP< const VectorSpaceBase< Scalar > > domainSpace=Teuchos::null)
 
RCP< const VectorSpaceBase< Scalar > > createVectorSpace(const RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &tpetraMap)
Create a Thyra::VectorSpaceBase object given a Tpetra::Map. 
 
RCP< const Teuchos::Comm< Ordinal > > convertTpetraToThyraComm(const RCP< const Teuchos::Comm< int > > &tpetraComm)
Given an Tpetra Teuchos::Comm<int> object, return an equivalent Teuchos::Comm<Ordinal> object...