Xpetra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Xpetra_Import.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Xpetra: A linear algebra interface package
4 //
5 // Copyright 2012 NTESS and the Xpetra contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef XPETRA_IMPORT_HPP
11 #define XPETRA_IMPORT_HPP
12 
13 /* this file is automatically generated - do not edit (see script/interfaces.py) */
14 
15 #include <Tpetra_KokkosCompat_DefaultNode.hpp>
16 #include <Teuchos_Describable.hpp>
17 #include <Teuchos_as.hpp>
18 #include "Xpetra_Map.hpp"
19 #include <iterator>
20 
21 namespace Xpetra {
22 
23 template <class LocalOrdinal,
24  class GlobalOrdinal,
25  class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
26 class Import
27  : public Teuchos::Describable {
28  public:
29  typedef LocalOrdinal local_ordinal_type;
30  typedef GlobalOrdinal global_ordinal_type;
31  typedef Node node_type;
33 
35 
36 
38  virtual ~Import() {}
39 
41  virtual Teuchos::RCP<const Import<LocalOrdinal, GlobalOrdinal, Node> >
42  createRemoteOnlyImport(const Teuchos::RCP<const map_type>& remoteTarget) const = 0;
43 
45 
47 
48 
50  virtual size_t getNumSameIDs() const = 0;
51 
53  virtual size_t getNumPermuteIDs() const = 0;
54 
56  virtual ArrayView<const LocalOrdinal> getPermuteFromLIDs() const = 0;
57 
59  virtual ArrayView<const LocalOrdinal> getPermuteToLIDs() const = 0;
60 
62  virtual size_t getNumRemoteIDs() const = 0;
63 
65  virtual ArrayView<const LocalOrdinal> getRemoteLIDs() const = 0;
66 
68  virtual size_t getNumExportIDs() const = 0;
69 
71  virtual ArrayView<const LocalOrdinal> getExportLIDs() const = 0;
72 
74  virtual ArrayView<const int> getExportPIDs() const = 0;
75 
77  virtual Teuchos::RCP<const Map<LocalOrdinal, GlobalOrdinal, Node> > getSourceMap() const = 0;
78 
80  virtual Teuchos::RCP<const Map<LocalOrdinal, GlobalOrdinal, Node> > getTargetMap() const = 0;
81 
83  virtual void setDistributorParameters(const Teuchos::RCP<Teuchos::ParameterList> params) const = 0;
84 
86 
88 
89 
91  virtual void print(std::ostream& os) const = 0;
92 
94 
95 }; // Import class
96 
97 } // namespace Xpetra
98 
99 #define XPETRA_IMPORT_SHORT
100 #endif // XPETRA_IMPORT_HPP
virtual ~Import()
Destructor.
virtual ArrayView< const LocalOrdinal > getPermuteFromLIDs() const =0
List of local IDs in the source Map that are permuted.
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 ArrayView< const LocalOrdinal > getExportLIDs() const =0
List of entries in the source Map that will be sent to other processes.
virtual void print(std::ostream &os) const =0
Print the Import&#39;s data to the given output stream.
Map< LocalOrdinal, GlobalOrdinal, Node > map_type
GlobalOrdinal global_ordinal_type
virtual ArrayView< const LocalOrdinal > getRemoteLIDs() const =0
List of entries in the target Map to receive from other processes.
virtual ArrayView< const LocalOrdinal > getPermuteToLIDs() const =0
List of local IDs in the target Map that are permuted.
virtual size_t getNumRemoteIDs() const =0
Number of entries not on the calling process.
virtual size_t getNumSameIDs() const =0
Number of initial identical IDs.
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getTargetMap() const =0
The Target Map used to construct this Import object.
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getSourceMap() const =0
The Source Map used to construct this Import object.
virtual size_t getNumPermuteIDs() const =0
Number of IDs to permute but not to communicate.
virtual Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > createRemoteOnlyImport(const Teuchos::RCP< const map_type > &remoteTarget) const =0
Special &quot;constructor&quot;.
virtual void setDistributorParameters(const Teuchos::RCP< Teuchos::ParameterList > params) const =0
Set parameters on the underlying object.
virtual ArrayView< const int > getExportPIDs() const =0
List of processes to which entries will be sent.