10 #ifndef XPETRA_TPETRAEXPORT_DECL_HPP
11 #define XPETRA_TPETRAEXPORT_DECL_HPP
21 #include "Tpetra_Export.hpp"
28 template <
class LocalOrdinal,
class GlobalOrdinal,
class Node>
29 const Tpetra::Export<LocalOrdinal, GlobalOrdinal, Node>&
toTpetra(
const Export<LocalOrdinal, GlobalOrdinal, Node>&);
31 template <
class LocalOrdinal,
class GlobalOrdinal,
class Node>
32 RCP<const Export<LocalOrdinal, GlobalOrdinal, Node>>
33 toXpetra(
const RCP<
const Tpetra::Export<LocalOrdinal, GlobalOrdinal, Node>>& exp);
35 template <
class LocalOrdinal,
39 :
public Export<LocalOrdinal, GlobalOrdinal, Node> {
48 TpetraExport(
const Teuchos::RCP<const map_type>& source,
const Teuchos::RCP<const map_type>& target);
52 const Teuchos::RCP<const map_type>& target,
53 const Teuchos::RCP<Teuchos::ParameterList>& plist);
94 Teuchos::RCP<const Map<LocalOrdinal, GlobalOrdinal, Node>>
getSourceMap()
const;
97 Teuchos::RCP<const Map<LocalOrdinal, GlobalOrdinal, Node>>
getTargetMap()
const;
108 void print(std::ostream& os)
const;
116 TpetraExport(
const RCP<
const Tpetra::Export<LocalOrdinal, GlobalOrdinal, Node>>& exp);
118 RCP<const Tpetra::Export<LocalOrdinal, GlobalOrdinal, Node>>
getTpetra_Export()
const;
123 RCP<const Tpetra::Export<LocalOrdinal, GlobalOrdinal, Node>>
export_;
132 template <
class LocalOrdinal,
class GlobalOrdinal,
class Node>
133 const Tpetra::Export<LocalOrdinal, GlobalOrdinal, Node>&
141 template <
class LocalOrdinal,
class GlobalOrdinal,
class Node>
144 if (exportObj != Teuchos::null) {
146 return tpetraExport->getTpetra_Export();
148 return Teuchos::null;
151 template <
class LocalOrdinal,
class GlobalOrdinal,
class Node>
152 RCP<const Export<LocalOrdinal, GlobalOrdinal, Node>>
153 toXpetra(
const RCP<
const Tpetra::Export<LocalOrdinal, GlobalOrdinal, Node>>& exp) {
157 return Teuchos::null;
162 #endif // XPETRA_TPETRAEXPORT_DECL_HPP
ArrayView< const LocalOrdinal > getPermuteFromLIDs() const
List of local IDs in the source Map that are permuted.
ArrayView< const LocalOrdinal > getExportLIDs() const
List of entries in the source Map that will be sent to other processes.
ArrayView< const LocalOrdinal > getRemoteLIDs() const
List of entries in the target Map to receive from other processes.
RCP< const Tpetra::Export< LocalOrdinal, GlobalOrdinal, Node > > getTpetra_Export() const
size_t getNumPermuteIDs() const
Number of IDs to permute but not to communicate.
size_t getNumExportIDs() const
Number of entries that must be sent by the calling process to other processes.
size_t getNumSameIDs() const
Number of initial identical IDs.
~TpetraExport()
Destructor.
RCP< const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > toTpetra(const RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &graph)
Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getSourceMap() const
The source Map used to construct this Export.
Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getTargetMap() const
The target Map used to construct this Export.
#define XPETRA_RCP_DYNAMIC_CAST(type, obj, newObj, exceptionMsg)
RCP< const Tpetra::Export< LocalOrdinal, GlobalOrdinal, Node > > export_
Map< LocalOrdinal, GlobalOrdinal, Node > map_type
The specialization of Map used by this class.
void setDistributorParameters(const Teuchos::RCP< Teuchos::ParameterList > params) const
Set distributor parameters.
size_t getNumRemoteIDs() const
Number of entries not on the calling process.
TpetraExport(const Teuchos::RCP< const map_type > &source, const Teuchos::RCP< const map_type > &target)
Construct a Export object from the source and target Map.
ArrayView< const LocalOrdinal > getPermuteToLIDs() const
List of local IDs in the target Map that are permuted.
ArrayView< const int > getExportPIDs() const
List of processes to which entries will be sent.
void print(std::ostream &os) const
Print the Export's data to the given output stream.
RCP< const CrsGraph< int, GlobalOrdinal, Node > > toXpetra(const Epetra_CrsGraph &g)