46 #ifndef XPETRA_CRSGRAPHFACTORY_HPP
47 #define XPETRA_CRSGRAPHFACTORY_HPP
53 #ifdef HAVE_XPETRA_TPETRA
54 #include "Xpetra_TpetraCrsGraph.hpp"
57 #ifdef HAVE_XPETRA_EPETRA
65 template <
class LocalOrdinal,
79 "Can't create Xpetra::EpetraCrsMatrix with these scalar/LO/GO types");
80 #ifdef HAVE_XPETRA_TPETRA
93 #ifdef HAVE_XPETRA_TPETRA
111 #ifdef HAVE_XPETRA_TPETRA
121 #ifdef HAVE_XPETRA_KOKKOS_REFACTOR
122 #ifdef HAVE_XPETRA_TPETRA
180 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& colMap,
186 return rcp(
new TpetraCrsGraph<LocalOrdinal, GlobalOrdinal, Node>(rowMap,
220 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& rowMap,
221 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& colMap,
222 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& domainMap = Teuchos::null,
223 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& rangeMap = Teuchos::null,
228 return rcp(
new TpetraCrsGraph<LocalOrdinal, GlobalOrdinal, Node>(lclGraph,
243 #if (defined(HAVE_XPETRA_EPETRA) && !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES))
262 #ifdef HAVE_XPETRA_TPETRA
266 #ifdef HAVE_XPETRA_EPETRA
277 #ifdef HAVE_XPETRA_TPETRA
293 #ifdef HAVE_XPETRA_TPETRA
305 #ifdef HAVE_XPETRA_KOKKOS_REFACTOR
306 #ifdef HAVE_XPETRA_TPETRA
364 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& colMap,
370 return rcp(
new TpetraCrsGraph<LocalOrdinal, GlobalOrdinal, Node>(rowMap,
404 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& rowMap,
405 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& colMap,
406 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& domainMap = Teuchos::null,
407 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& rangeMap = Teuchos::null,
412 return rcp(
new TpetraCrsGraph<LocalOrdinal, GlobalOrdinal, Node>(lclGraph,
428 #if (defined(HAVE_XPETRA_EPETRA) && !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES))
447 #ifdef HAVE_XPETRA_TPETRA
451 #ifdef HAVE_XPETRA_EPETRA
462 #ifdef HAVE_XPETRA_TPETRA
478 #ifdef HAVE_XPETRA_TPETRA
490 #ifdef HAVE_XPETRA_KOKKOS_REFACTOR
491 #ifdef HAVE_XPETRA_TPETRA
549 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& colMap,
555 return rcp(
new TpetraCrsGraph<LocalOrdinal, GlobalOrdinal, Node>(rowMap,
589 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& rowMap,
590 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& colMap,
591 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& domainMap = Teuchos::null,
592 const Teuchos::RCP<
const Map<LocalOrdinal, GlobalOrdinal, Node> >& rangeMap = Teuchos::null,
597 return rcp(
new TpetraCrsGraph<LocalOrdinal, GlobalOrdinal, Node>(lclGraph,
613 #define XPETRA_CRSGRAPHFACTORY_SHORT
#define XPETRA_MONITOR(funcName)
#define XPETRA_FACTORY_ERROR_IF_EPETRA(lib)
#define XPETRA_FACTORY_END
CrsGraphFactory()
Private constructor. This is a static class.
static RCP< CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &map, size_t maxNumEntriesPerRow)
static RCP< CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > Build(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap)
Constructor for empty graph (intended use is an import/export target - can't insert entries directly)
static Teuchos::RCP< CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, const Teuchos::RCP< Teuchos::ParameterList > &plist=Teuchos::null)
static RCP< CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > Build(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap)
Constructor for empty graph (intended use is an import/export target - can't insert entries directly)
static Teuchos::RCP< CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, const Teuchos::RCP< Teuchos::ParameterList > &plist=Teuchos::null)
static RCP< CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &map, size_t maxNumEntriesPerRow)
CrsGraphFactory()
Private constructor. This is a static class.
CrsGraphFactory()
Private constructor. This is a static class.
static Teuchos::RCP< CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &map, size_t maxNumEntriesPerRow)
Constructor specifying the number of non-zeros for all rows.
static Teuchos::RCP< CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > Build(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap)
Constructor for empty graph (intended use is an import/export target - can't insert entries directly)
static Teuchos::RCP< CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, const Teuchos::RCP< Teuchos::ParameterList > &plist=Teuchos::null)
Constructor specifying column Map and number of entries in each row.
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
#define TEUCHOS_UNREACHABLE_RETURN(dummyReturnVal)
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)