46 #ifndef XPETRA_MULTIVECTORFACTORY_DECL_HPP 47 #define XPETRA_MULTIVECTORFACTORY_DECL_HPP 52 #ifdef HAVE_XPETRA_TPETRA 53 #include "Xpetra_TpetraMultiVector.hpp" 56 #ifdef HAVE_XPETRA_EPETRA 83 template<
class Scalar,
97 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
101 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
103 const Teuchos::ArrayView<
const Teuchos::ArrayView<const Scalar>>& ArrayOfPtrs,
106 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
108 Teuchos::DataAccess copyOrView);
114 #if defined(HAVE_XPETRA_EPETRA) 116 #if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES) 138 static RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
142 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
144 const Teuchos::ArrayView<
const Teuchos::ArrayView<const Scalar>>& ArrayOfPtrs,
147 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
149 Teuchos::DataAccess copyOrView);
170 static RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
174 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
176 const Teuchos::ArrayView<
const Teuchos::ArrayView<const Scalar>>& ArrayOfPtrs,
179 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
181 Teuchos::DataAccess copyOrView);
186 #if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES) 204 static RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
207 bool zeroOut =
true);
210 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
212 const Teuchos::ArrayView<
const Teuchos::ArrayView< const Scalar > > &ArrayOfPtrs,
215 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
217 Teuchos::DataAccess copyOrView);
238 static RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
241 bool zeroOut =
true);
244 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
246 const Teuchos::ArrayView<
const Teuchos::ArrayView< const Scalar > > &ArrayOfPtrs,
249 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
251 Teuchos::DataAccess copyOrView);
256 #endif // END !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES) 258 #endif // END !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES) 260 #endif // END HAVE_XPETRA_EPETRA 265 #define XPETRA_MULTIVECTORFACTORY_SHORT
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.
Factory for any type of Xpetra::MultiVector and its derived classes.
MultiVectorFactory()
Private constructor. This is a static class.