10 #ifndef XPETRA_VECTORFACTORY_DECL_HPP
11 #define XPETRA_VECTORFACTORY_DECL_HPP
16 #ifdef HAVE_XPETRA_TPETRA
19 #ifdef HAVE_XPETRA_EPETRA
30 template <
class Scalar ,
35 #undef XPETRA_VECTORFACTORY_SHORT
44 static Teuchos::RCP<Xpetra::Vector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
48 RCP<const Xpetra::BlockedMap<LocalOrdinal, GlobalOrdinal, Node>>
51 if (!bmap.is_null()) {
55 #ifdef HAVE_XPETRA_TPETRA
63 TEUCHOS_UNREACHABLE_RETURN(Teuchos::null);
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
93 static RCP<Xpetra::Vector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
97 #endif // #if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
102 #if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
111 #undef XPETRA_VECTORFACTORY_SHORT
119 static RCP<Xpetra::Vector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
121 bool zeroOut =
true);
123 #endif // #if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
124 #define XPETRA_VECTORFACTORY_SHORT
127 #if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
139 #undef XPETRA_VECTORFACTORY_SHORT
147 static RCP<Xpetra::Vector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
149 bool zeroOut =
true);
151 #endif // #if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
154 #if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
167 #undef XPETRA_VECTORFACTORY_SHORT
175 static RCP<Xpetra::Vector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
177 bool zeroOut =
true);
179 #endif // !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
181 #endif // #if defined(HAVE_XPETRA_EPETRA)
185 #define XPETRA_VECTORFACTORY_SHORT
186 #endif // XPETRA_VECTORFACTORY_DECL_HPP
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 XPETRA_FACTORY_ERROR_IF_EPETRA(lib)
#define XPETRA_FACTORY_END
Tpetra::KokkosCompat::KokkosSerialWrapperNode EpetraNode
#define XPETRA_MONITOR(funcName)