46 #ifndef XPETRA_MULTIVECTORFACTORY_HPP
47 #define XPETRA_MULTIVECTORFACTORY_HPP
53 #ifdef HAVE_XPETRA_TPETRA
54 #include "Xpetra_TpetraMultiVector.hpp"
57 #ifdef HAVE_XPETRA_EPETRA
69 #ifndef DOXYGEN_SHOULD_SKIP_THIS
74 template <class Scalar = MultiVector<>::scalar_type,
76 typename MultiVector<Scalar>::local_ordinal_type,
78 typename MultiVector<Scalar, LocalOrdinal>::global_ordinal_type,
80 typename MultiVector<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
101 #ifdef HAVE_XPETRA_TPETRA
117 #ifdef HAVE_XPETRA_TPETRA
130 #if (defined(HAVE_XPETRA_EPETRA) && !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES))
161 #ifdef HAVE_XPETRA_TPETRA
179 #ifdef HAVE_XPETRA_TPETRA
217 #ifdef HAVE_XPETRA_TPETRA
235 #ifdef HAVE_XPETRA_TPETRA
249 #if (defined(HAVE_XPETRA_EPETRA) && !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES))
268 bool zeroOut =
true) {
276 #ifdef HAVE_XPETRA_TPETRA
294 #ifdef HAVE_XPETRA_TPETRA
324 bool zeroOut =
true) {
332 #ifdef HAVE_XPETRA_TPETRA
350 #ifdef HAVE_XPETRA_TPETRA
363 #endif // HAVE_XPETRA_EPETRA
367 #define XPETRA_MULTIVECTORFACTORY_SHORT
MultiVectorFactory()
Private constructor. This is a static class.
MultiVectorFactory()
Private constructor. This is a static class.
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. (copy).
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. (copy).
#define XPETRA_FACTORY_ERROR_IF_EPETRA(lib)
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
MultiVectorFactory()
Private constructor. This is a static class.
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. (copy).
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. (copy).
#define XPETRA_FACTORY_END
MultiVectorFactory()
Private constructor. This is a static class.
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, size_t NumVectors, bool zeroOut=true)
Constructor specifying the number of non-zeros for all rows.
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. (copy).
#define XPETRA_MONITOR(funcName)
static RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &map, size_t NumVectors, bool zeroOut=true)
static RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &map, size_t NumVectors, bool zeroOut=true)