46 #ifndef XPETRA_VECTORFACTORY_DECL_HPP
47 #define XPETRA_VECTORFACTORY_DECL_HPP
52 #ifdef HAVE_XPETRA_TPETRA
55 #ifdef HAVE_XPETRA_EPETRA
66 template <
class Scalar ,
71 #undef XPETRA_VECTORFACTORY_SHORT
80 static Teuchos::RCP<Xpetra::Vector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
84 RCP<const Xpetra::BlockedMap<LocalOrdinal, GlobalOrdinal, Node>>
87 if (!bmap.is_null()) {
91 #ifdef HAVE_XPETRA_TPETRA
103 #define XPETRA_VECTORFACTORY_SHORT
105 #if defined(HAVE_XPETRA_EPETRA)
108 #if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
120 #undef XPETRA_VECTORFACTORY_SHORT
128 static RCP<Xpetra::Vector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
130 bool zeroOut =
true);
132 #endif // #if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
137 #if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
146 #undef XPETRA_VECTORFACTORY_SHORT
154 static RCP<Xpetra::Vector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
156 bool zeroOut =
true);
158 #endif // #if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
159 #define XPETRA_VECTORFACTORY_SHORT
162 #if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
174 #undef XPETRA_VECTORFACTORY_SHORT
182 static RCP<Xpetra::Vector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
184 bool zeroOut =
true);
186 #endif // #if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
189 #if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
202 #undef XPETRA_VECTORFACTORY_SHORT
210 static RCP<Xpetra::Vector<Scalar, LocalOrdinal, GlobalOrdinal, Node>>
212 bool zeroOut =
true);
214 #endif // !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
216 #endif // #if defined(HAVE_XPETRA_EPETRA)
220 #define XPETRA_VECTORFACTORY_SHORT
221 #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)