static RCP<Import<LocalOrdinal, GlobalOrdinal, Node> > Build(const RCP<const Map<LocalOrdinal, GlobalOrdinal, Node> > &source, const RCP<const Map<LocalOrdinal, GlobalOrdinal, Node> > &target) { XPETRA_MONITOR("ImportFactory::Build"); TEUCHOS_TEST_FOR_EXCEPTION(source->lib() != target->lib(), Xpetra::Exceptions::RuntimeError, ""); #ifdef HAVE_XPETRA_TPETRA #ifdef HAVE_XPETRA_TPETRA_INST_INT_INT if (source->lib() == UseTpetra) return rcp( new TpetraImport<LocalOrdinal, GlobalOrdinal, Node>(source, target)); #else XPETRA_TPETRA_ETI_EXCEPTION("ImportFactory<int,int>", "TpetraImport<int,int>", "int"); #endif #endif #ifdef HAVE_XPETRA_EPETRA #ifndef XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES if (source->lib() == UseEpetra) return rcp( new EpetraImportT<int,Node>(source, target)); #endif #endif XPETRA_FACTORY_END; }
//! Copy constructor. TpetraExport(const Export< LocalOrdinal, GlobalOrdinal, Node > &rhs) { XPETRA_TPETRA_ETI_EXCEPTION("TpetraExport<int,int>", "TpetraExport<int,int>", "int"); }
//! Constructor (with list of parameters). TpetraExport(const Teuchos::RCP< const map_type > &source, const Teuchos::RCP< const map_type > &target, const Teuchos::RCP< Teuchos::ParameterList > &plist) { XPETRA_TPETRA_ETI_EXCEPTION("TpetraExport<int,int>", "TpetraExport<int,int>", "int"); }
//! TpetraImport constructor to wrap a Tpetra::Import object TpetraImport(const RCP<const Tpetra::Import< LocalOrdinal, GlobalOrdinal, Node > > &import) { XPETRA_TPETRA_ETI_EXCEPTION( typeid(TpetraImport<LocalOrdinal,GlobalOrdinal,EpetraNode>).name() , typeid(TpetraImport<LocalOrdinal,GlobalOrdinal,EpetraNode>).name(), "long long", typeid(EpetraNode).name() ); }
//! Constructor (with list of parameters). TpetraImport(const Teuchos::RCP< const map_type > &source, const Teuchos::RCP< const map_type > &target, const Teuchos::RCP< Teuchos::ParameterList > &plist) { XPETRA_TPETRA_ETI_EXCEPTION( typeid(TpetraImport<LocalOrdinal,GlobalOrdinal,EpetraNode>).name() , typeid(TpetraImport<LocalOrdinal,GlobalOrdinal,EpetraNode>).name(), "long long", typeid(EpetraNode).name() ); }
//! Copy constructor. TpetraImport(const Import< LocalOrdinal, GlobalOrdinal, Node > &import) { XPETRA_TPETRA_ETI_EXCEPTION( typeid(TpetraImport<LocalOrdinal,GlobalOrdinal,EpetraNode>).name() , typeid(TpetraImport<LocalOrdinal,GlobalOrdinal,EpetraNode>).name(), "int", typeid(EpetraNode).name() ); }
//! Construct an Import from the source and target Maps. TpetraImport(const Teuchos::RCP< const map_type > &source, const Teuchos::RCP< const map_type > &target) { XPETRA_TPETRA_ETI_EXCEPTION( typeid(TpetraImport<LocalOrdinal,GlobalOrdinal,EpetraNode>).name() , typeid(TpetraImport<LocalOrdinal,GlobalOrdinal,EpetraNode>).name(), "int", typeid(EpetraNode).name() ); }
//! Copy constructor. TpetraExport(const Export< LocalOrdinal, GlobalOrdinal, Node > &rhs) { XPETRA_TPETRA_ETI_EXCEPTION( typeid(TpetraExport<LocalOrdinal,GlobalOrdinal,EpetraNode>).name() , typeid(TpetraExport<LocalOrdinal,GlobalOrdinal,EpetraNode>).name(), "long long", typeid(EpetraNode).name() ); }
//! TpetraExport constructor to wrap a Tpetra::Export object TpetraExport(const RCP<const Tpetra::Export< LocalOrdinal, GlobalOrdinal, Node > > &exp) { XPETRA_TPETRA_ETI_EXCEPTION( typeid(TpetraExport<LocalOrdinal,GlobalOrdinal,EpetraNode>).name() , typeid(TpetraExport<LocalOrdinal,GlobalOrdinal,EpetraNode>).name(), "int", typeid(EpetraNode).name() ); }