46 #ifndef XPETRA_MULTIVECTORFACTORY_HPP 47 #define XPETRA_MULTIVECTORFACTORY_HPP 53 #ifdef HAVE_XPETRA_TPETRA 57 #ifdef HAVE_XPETRA_EPETRA 69 #ifndef DOXYGEN_SHOULD_SKIP_THIS 74 template <class Scalar = MultiVector<>::scalar_type,
89 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
101 #ifdef HAVE_XPETRA_TPETRA 111 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
113 const Teuchos::ArrayView<
const Teuchos::ArrayView< const Scalar > > &ArrayOfPtrs,
117 #ifdef HAVE_XPETRA_TPETRA 130 #if (defined(HAVE_XPETRA_EPETRA) && !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)) 150 static RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
157 if(!bmap.is_null()) {
161 #ifdef HAVE_XPETRA_TPETRA 173 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
175 const Teuchos::ArrayView<
const Teuchos::ArrayView< const Scalar > > &ArrayOfPtrs,
179 #ifdef HAVE_XPETRA_TPETRA 206 static RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
213 if(!bmap.is_null()) {
217 #ifdef HAVE_XPETRA_TPETRA 229 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
231 const Teuchos::ArrayView<
const Teuchos::ArrayView< const Scalar > > &ArrayOfPtrs,
235 #ifdef HAVE_XPETRA_TPETRA 249 #if (defined(HAVE_XPETRA_EPETRA) && !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)) 265 static RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
268 bool zeroOut =
true) {
272 if(!bmap.is_null()) {
276 #ifdef HAVE_XPETRA_TPETRA 288 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
290 const Teuchos::ArrayView<
const Teuchos::ArrayView< const Scalar > > &ArrayOfPtrs,
294 #ifdef HAVE_XPETRA_TPETRA 321 static RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
324 bool zeroOut =
true) {
328 if(!bmap.is_null()) {
332 #ifdef HAVE_XPETRA_TPETRA 344 static Teuchos::RCP<MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >
346 const Teuchos::ArrayView<
const Teuchos::ArrayView< const Scalar > > &ArrayOfPtrs,
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)
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
LocalOrdinal local_ordinal_type
GlobalOrdinal global_ordinal_type
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)