10#ifndef XPETRA_MULTIVECTORFACTORY_DECL_HPP
11#define XPETRA_MULTIVECTORFACTORY_DECL_HPP
16#ifdef HAVE_XPETRA_TPETRA
17#include "Xpetra_TpetraMultiVector.hpp"
20#ifdef HAVE_XPETRA_EPETRA
46template <
class Scalar,
49 class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
72#if defined(HAVE_XPETRA_EPETRA)
74#if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
132#if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
149 bool zeroOut =
true);
177 bool zeroOut =
true);
198#define XPETRA_MULTIVECTORFACTORY_SHORT
static RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &map, size_t NumVectors, bool zeroOut=true)
static Teuchos::RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &map, const Teuchos::ArrayView< const Teuchos::ArrayView< const Scalar > > &ArrayOfPtrs, size_t NumVectors)
Set multi-vector values from array of pointers using Teuchos memory management classes....
MultiVectorFactory()
Private constructor. This is a static class.
static Teuchos::RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &source, Teuchos::DataAccess copyOrView)
static RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &map, size_t NumVectors, bool zeroOut=true)
static Teuchos::RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &source, Teuchos::DataAccess copyOrView)
MultiVectorFactory()
Private constructor. This is a static class.
static Teuchos::RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &map, const Teuchos::ArrayView< const Teuchos::ArrayView< const Scalar > > &ArrayOfPtrs, size_t NumVectors)
Set multi-vector values from array of pointers using Teuchos memory management classes....
Factory for any type of Xpetra::MultiVector and its derived classes.
MultiVectorFactory()
Private constructor. This is a static class.
static Teuchos::RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &map, size_t NumVectors, bool zeroOut=true)
Constructor specifying the number of non-zeros for all rows.
Tpetra::KokkosCompat::KokkosSerialWrapperNode EpetraNode