10#ifndef XPETRA_VECTORFACTORY_DECL_HPP
11#define XPETRA_VECTORFACTORY_DECL_HPP
16#ifdef HAVE_XPETRA_TPETRA
19#ifdef HAVE_XPETRA_EPETRA
30template <
class Scalar ,
35#undef XPETRA_VECTORFACTORY_SHORT
49 bmap = Teuchos::rcp_dynamic_cast<const Xpetra::BlockedMap<LocalOrdinal, GlobalOrdinal, Node>>(map);
55#ifdef HAVE_XPETRA_TPETRA
68#define XPETRA_VECTORFACTORY_SHORT
70#if defined(HAVE_XPETRA_EPETRA)
73#if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
85#undef XPETRA_VECTORFACTORY_SHORT
102#if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
111#undef XPETRA_VECTORFACTORY_SHORT
121 bool zeroOut =
true);
124#define XPETRA_VECTORFACTORY_SHORT
127#if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
139#undef XPETRA_VECTORFACTORY_SHORT
149 bool zeroOut =
true);
154#if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
167#undef XPETRA_VECTORFACTORY_SHORT
177 bool zeroOut =
true);
185#define XPETRA_VECTORFACTORY_SHORT
#define XPETRA_MONITOR(funcName)
#define XPETRA_FACTORY_ERROR_IF_EPETRA(lib)
#define XPETRA_FACTORY_END
VectorFactory()=default
Private constructor. This is a static class.
static RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &map, bool zeroOut=true)
VectorFactory()=default
Private constructor. This is a static class.
VectorFactory()=default
Private constructor. This is a static class.
static RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &map, bool zeroOut=true)
VectorFactory()=default
Private constructor. This is a static class.
VectorFactory()=default
Private constructor. This is a static class.
static Teuchos::RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &map, bool zeroOut=true)
Constructor specifying the number of non-zeros for all rows.
#define TEUCHOS_UNREACHABLE_RETURN(dummyReturnVal)
Tpetra::KokkosCompat::KokkosSerialWrapperNode EpetraNode