Xpetra Version of the Day
Loading...
Searching...
No Matches
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
21namespace Xpetra {
22
23template <class LocalOrdinal,
24 class GlobalOrdinal,
25 class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
26class 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
43
45
47
48
50 virtual size_t getNumSameIDs() const = 0;
51
53 virtual size_t getNumPermuteIDs() const = 0;
54
57
60
62 virtual size_t getNumRemoteIDs() const = 0;
63
66
68 virtual size_t getNumExportIDs() const = 0;
69
72
75
78
81
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 ArrayView< const LocalOrdinal > getRemoteLIDs() const =0
List of entries in the target Map to receive from other processes.
virtual size_t getNumExportIDs() const =0
Number of entries that must be sent by the calling process to other processes.
virtual ArrayView< const LocalOrdinal > getExportLIDs() const =0
List of entries in the source Map that will be sent to other processes.
Map< LocalOrdinal, GlobalOrdinal, Node > map_type
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 ArrayView< const LocalOrdinal > getPermuteFromLIDs() const =0
List of local IDs in the source Map that are permuted.
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getSourceMap() const =0
The Source Map used to construct this Import object.
virtual Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > createRemoteOnlyImport(const Teuchos::RCP< const map_type > &remoteTarget) const =0
Special "constructor".
virtual size_t getNumSameIDs() const =0
Number of initial identical IDs.
virtual size_t getNumPermuteIDs() const =0
Number of IDs to permute but not to communicate.
virtual ~Import()
Destructor.
virtual ArrayView< const int > getExportPIDs() const =0
List of processes to which entries will be sent.
virtual void setDistributorParameters(const Teuchos::RCP< Teuchos::ParameterList > params) const =0
Set parameters on the underlying object.
GlobalOrdinal global_ordinal_type
virtual void print(std::ostream &os) const =0
Print the Import's data to the given output stream.
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getTargetMap() const =0
The Target Map used to construct this Import object.
LocalOrdinal local_ordinal_type