46 #ifndef XPETRA_EXPORT_HPP
47 #define XPETRA_EXPORT_HPP
52 #include <Teuchos_Describable.hpp>
59 template <class LocalOrdinal = Map<>::local_ordinal_type,
60 class GlobalOrdinal =
typename Map<LocalOrdinal>::global_ordinal_type,
61 class Node =
typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
120 virtual void print(std::ostream &os)
const = 0;
128 #define XPETRA_EXPORT_SHORT
129 #endif // XPETRA_EXPORT_HPP
virtual size_t getNumExportIDs() const =0
Number of entries that must be sent by the calling process to other processes.
LocalOrdinal local_ordinal_type
virtual void print(std::ostream &os) const =0
Print the Export's data to the given output stream.
virtual size_t getNumRemoteIDs() const =0
Number of entries not on the calling process.
virtual ArrayView< const LocalOrdinal > getPermuteFromLIDs() const =0
List of local IDs in the source Map that are permuted.
virtual size_t getNumPermuteIDs() const =0
Number of IDs to permute but not to communicate.
virtual ArrayView< const LocalOrdinal > getPermuteToLIDs() const =0
List of local IDs in the target Map that are permuted.
virtual ArrayView< const LocalOrdinal > getExportLIDs() const =0
List of entries in the source Map that will be sent to other processes.
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getSourceMap() const =0
The source Map used to construct this Export.
GlobalOrdinal global_ordinal_type
virtual ArrayView< const int > getExportPIDs() const =0
List of processes to which entries will be sent.
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getTargetMap() const =0
The target Map used to construct this Export.
virtual size_t getNumSameIDs() const =0
Number of initial identical IDs.
virtual ArrayView< const LocalOrdinal > getRemoteLIDs() const =0
List of entries in the target Map to receive from other processes.
virtual ~Export()
Destructor.