42 #ifndef TPETRA_EXPORT_DECL_HPP 43 #define TPETRA_EXPORT_DECL_HPP 45 #include "Tpetra_Details_Transfer.hpp" 49 #include "Teuchos_ArrayView.hpp" 50 #include "Teuchos_RCP.hpp" 52 #ifndef DOXYGEN_SHOULD_SKIP_THIS 54 template<
class T>
class Array;
57 #endif // DOXYGEN_SHOULD_SKIP_THIS 122 class GlobalOrdinal = ::Tpetra::Details::DefaultTypes::global_ordinal_type,
128 friend class Import<LocalOrdinal,GlobalOrdinal,Node>;
131 typedef ::Tpetra::Map<LocalOrdinal, GlobalOrdinal, Node>
map_type;
143 Export (
const Teuchos::RCP<const map_type>& source,
144 const Teuchos::RCP<const map_type>& target);
156 Export (
const Teuchos::RCP<const map_type>& source,
157 const Teuchos::RCP<const map_type>& target,
158 const Teuchos::RCP<Teuchos::FancyOStream>& out);
172 Export (
const Teuchos::RCP<const map_type>& source,
173 const Teuchos::RCP<const map_type>& target,
174 const Teuchos::RCP<Teuchos::ParameterList>& plist);
191 Export (
const Teuchos::RCP<const map_type>& source,
192 const Teuchos::RCP<const map_type>& target,
193 const Teuchos::RCP<Teuchos::FancyOStream>& out,
194 const Teuchos::RCP<Teuchos::ParameterList>& plist);
247 Teuchos::ArrayView<const LocalOrdinal>
getRemoteLIDs()
const;
253 Teuchos::ArrayView<const LocalOrdinal>
getExportLIDs()
const;
311 describe (Teuchos::FancyOStream& out,
312 const Teuchos::EVerbosityLevel verbLevel =
313 Teuchos::Describable::verbLevel_default)
const;
330 virtual void print (std::ostream& os)
const;
336 Teuchos::RCP<ImportExportData<LocalOrdinal,GlobalOrdinal,Node> > ExportData_;
338 Teuchos::RCP<Teuchos::FancyOStream> out_;
349 void setupSamePermuteExport(Teuchos::Array<GlobalOrdinal> & exportGIDs);
350 void setupRemote(Teuchos::Array<GlobalOrdinal> & exportGIDs);
365 template <
class LocalOrdinal,
class GlobalOrdinal,
class Node>
366 Teuchos::RCP<const Export<LocalOrdinal, GlobalOrdinal, Node> >
371 return Teuchos::null;
373 #ifdef HAVE_TPETRA_DEBUG 374 TEUCHOS_TEST_FOR_EXCEPTION(
375 src == Teuchos::null || tgt == Teuchos::null, std::runtime_error,
376 "Tpetra::createExport(): neither source nor target map may be null:" 377 << std::endl <<
"source: " << src << std::endl <<
"target: " << tgt
379 #endif // HAVE_TPETRA_DEBUG 385 #endif // TPETRA_EXPORT_DECL_HPP Namespace Tpetra contains the class and methods constituting the Tpetra library.
Communication plan for data redistribution from a (possibly) multiply-owned to a uniquely-owned distr...
virtual void print(std::ostream &os) const
Print the Export's data to the given output stream.
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &plist)
Set parameters.
Forward declaration of Tpetra::ImportExportData.
Export< LocalOrdinal, GlobalOrdinal, Node > & operator=(const Export< LocalOrdinal, GlobalOrdinal, Node > &rhs)
Assignment operator.
Export(const Teuchos::RCP< const map_type > &source, const Teuchos::RCP< const map_type > &target)
Construct a Export object from the source and target Map.
Teuchos::ArrayView< const int > getExportPIDs() const
List of processes to which entries will be sent.
::Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > map_type
The specialization of Map used by this class.
size_t getNumExportIDs() const
Number of entries that must be sent by the calling process to other processes.
int local_ordinal_type
Default value of Scalar template parameter.
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
Describe this object in a human-readable way to the given output stream.
Teuchos::ArrayView< const LocalOrdinal > getPermuteToLIDs() const
List of local IDs in the target Map that are permuted.
Teuchos::ArrayView< const LocalOrdinal > getExportLIDs() const
List of entries in the source Map that will be sent to other processes.
Forward declaration of Tpetra::Export.
Teuchos::RCP< const map_type > getTargetMap() const
The target Map used to construct this Export.
Teuchos::ArrayView< const LocalOrdinal > getRemoteLIDs() const
List of entries in the target Map to receive from other processes.
Teuchos::RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > createExport(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &src, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &tgt)
Non-member constructor for Export objects.
Common base class of Import and Export.
Forward declaration of Tpetra::Import.
Sets up and executes a communication plan for a Tpetra DistObject.
size_t getNumPermuteIDs() const
Number of IDs to permute but not to communicate.
Teuchos::ArrayView< const LocalOrdinal > getPermuteFromLIDs() const
List of local IDs in the source Map that are permuted.
size_t getNumSameIDs() const
Number of initial identical IDs.
::Kokkos::Compat::KokkosDeviceWrapperNode< execution_space > node_type
Default value of Node template parameter.
Distributor & getDistributor() const
The Distributor that this Export object uses to move data.
Communication plan for data redistribution from a uniquely-owned to a (possibly) multiply-owned distr...
size_t getNumRemoteIDs() const
Number of entries not on the calling process.
A parallel distribution of indices over processes.
Teuchos::RCP< const map_type > getSourceMap() const
The source Map used to construct this Export.
bool isLocallyComplete() const
Do all source Map indices on the calling process exist on at least one process (not necessarily this ...
virtual ~Export()
Destructor.