Xpetra_TpetraMap_decl.hpp
Go to the documentation of this file.
1 // @HEADER
2 //
3 // ***********************************************************************
4 //
5 // Xpetra: A linear algebra interface package
6 // Copyright 2012 Sandia Corporation
7 //
8 // Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9 // the U.S. Government retains certain rights in this software.
10 //
11 // Redistribution and use in source and binary forms, with or without
12 // modification, are permitted provided that the following conditions are
13 // met:
14 //
15 // 1. Redistributions of source code must retain the above copyright
16 // notice, this list of conditions and the following disclaimer.
17 //
18 // 2. Redistributions in binary form must reproduce the above copyright
19 // notice, this list of conditions and the following disclaimer in the
20 // documentation and/or other materials provided with the distribution.
21 //
22 // 3. Neither the name of the Corporation nor the names of the
23 // contributors may be used to endorse or promote products derived from
24 // this software without specific prior written permission.
25 //
26 // THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 //
38 // Questions? Contact
39 // Jonathan Hu (jhu@sandia.gov)
40 // Andrey Prokopenko (aprokop@sandia.gov)
41 // Ray Tuminaro (rstumin@sandia.gov)
42 //
43 // ***********************************************************************
44 //
45 // @HEADER
46 #ifndef XPETRA_TPETRAMAP_DECL_HPP
47 #define XPETRA_TPETRAMAP_DECL_HPP
48 
49 /* this file is automatically generated - do not edit (see script/tpetra.py) */
50 
52 
53 #include <Tpetra_Map.hpp>
54 
55 #include "Xpetra_Map.hpp"
56 #include "Xpetra_Utils.hpp"
57 
58 #include "Xpetra_Exceptions.hpp"
59 
60 namespace Xpetra {
61 
62  template <class LocalOrdinal, class GlobalOrdinal, class Node>
63  const RCP<Map<LocalOrdinal,GlobalOrdinal,Node> > toXpetraNonConst(const RCP<const Tpetra::Map<LocalOrdinal,GlobalOrdinal,Node> >& map);
64 
65  template <class LocalOrdinal,
66  class GlobalOrdinal,
68  class TpetraMap
69  : public virtual Map<LocalOrdinal,GlobalOrdinal,Node> {
70 
71  public:
72 
74 
75 
76 
78 #ifdef TPETRA_ENABLE_DEPRECATED_CODE
79  TPETRA_DEPRECATED
80  TpetraMap (global_size_t numGlobalElements,
81  GlobalOrdinal indexBase,
82  const Teuchos::RCP< const Teuchos::Comm< int > > &comm,
83  LocalGlobal lg,
84  const Teuchos::RCP< Node > & /* node */);
85 #endif // TPETRA_ENABLE_DEPRECATED_CODE
86 
87 
88  TpetraMap (global_size_t numGlobalElements,
89  GlobalOrdinal indexBase,
90  const Teuchos::RCP< const Teuchos::Comm< int > > &comm,
92 
93 
95 #ifdef TPETRA_ENABLE_DEPRECATED_CODE
96  TPETRA_DEPRECATED
97  TpetraMap (global_size_t numGlobalElements,
98  size_t numLocalElements,
99  GlobalOrdinal indexBase,
100  const Teuchos::RCP< const Teuchos::Comm< int > > &comm,
101  const Teuchos::RCP< Node > & /* node */);
102 #endif // TPETRA_ENABLE_DEPRECATED_CODE
103 
104 
105  TpetraMap (global_size_t numGlobalElements,
106  size_t numLocalElements,
107  GlobalOrdinal indexBase,
108  const Teuchos::RCP< const Teuchos::Comm< int > > &comm);
109 
110 
112 #ifdef TPETRA_ENABLE_DEPRECATED_CODE
113  TPETRA_DEPRECATED
114  TpetraMap (global_size_t numGlobalElements,
116  GlobalOrdinal indexBase,
117  const Teuchos::RCP< const Teuchos::Comm< int > > &comm,
118  const Teuchos::RCP< Node > & /* node */);
119 #endif // TPETRA_ENABLE_DEPRECATED_CODE
120 
121 
122  TpetraMap (global_size_t numGlobalElements,
124  GlobalOrdinal indexBase,
125  const Teuchos::RCP< const Teuchos::Comm< int > > &comm);
126 
127 
128 #ifdef HAVE_XPETRA_KOKKOS_REFACTOR
129 #ifdef HAVE_XPETRA_TPETRA
130  TpetraMap (global_size_t numGlobalElements,
132  const Kokkos::View<const GlobalOrdinal*, typename Node::device_type>& indexList,
133  GlobalOrdinal indexBase,
134  const Teuchos::RCP< const Teuchos::Comm< int > > &comm);
135 #endif
136 #endif
137 
139  ~TpetraMap();
140 
141 
143 
144 
147 
149  size_t getNodeNumElements() const;
150 
152  GlobalOrdinal getIndexBase() const;
153 
155  LocalOrdinal getMinLocalIndex() const;
156 
158  LocalOrdinal getMaxLocalIndex() const;
159 
161  GlobalOrdinal getMinGlobalIndex() const;
162 
164  GlobalOrdinal getMaxGlobalIndex() const;
165 
167  GlobalOrdinal getMinAllGlobalIndex() const;
168 
170  GlobalOrdinal getMaxAllGlobalIndex() const;
171 
173  LocalOrdinal getLocalElement(GlobalOrdinal globalIndex) const;
174 
176  GlobalOrdinal getGlobalElement(LocalOrdinal localIndex) const;
177 
180 
183 
186 
188 
190 
191 
193  bool isNodeLocalElement(LocalOrdinal localIndex) const;
194 
196  bool isNodeGlobalElement(GlobalOrdinal globalIndex) const;
197 
199  bool isContiguous() const;
200 
202  bool isDistributed() const;
203 
206 
208  bool isSameAs(const Map< LocalOrdinal, GlobalOrdinal, Node > &map) const;
209 
211 
213 
214 
217 
218 #ifdef TPETRA_ENABLE_DEPRECATED_CODE
219  Teuchos::RCP< Node > getNode() const;
221 #endif // TPETRA_ENABLE_DEPRECATED_CODE
222 
224 
226 
227 
229  std::string description() const;
230 
233 
236 
237 #ifdef XPETRA_ENABLE_DEPRECATED_CODE
238  template<class Node2>
239  RCP<Map<LocalOrdinal, GlobalOrdinal, Node2> > XPETRA_DEPRECATED clone(const RCP<Node2> &node2) const {
240  return toXpetraNonConst(map_->clone(node2));
241  }
242 #endif
243 
245 
247 
248 
250  TpetraMap(const Teuchos::RCP<const Tpetra::Map<LocalOrdinal, GlobalOrdinal, Node > > &map);
251 
253  UnderlyingLib lib() const;
254 
257 
258 #ifdef HAVE_XPETRA_KOKKOS_REFACTOR
259 #ifdef HAVE_XPETRA_TPETRA
260  using local_map_type = typename Map<LocalOrdinal, GlobalOrdinal, Node>::local_map_type;
262  local_map_type getLocalMap () const;
263 #endif
264 #endif
265 
267 
268  protected:
269 
271 
272  }; // TpetraMap class
273 
274 
275  template <class LocalOrdinal, class GlobalOrdinal, class Node>
276  const Tpetra::Map<LocalOrdinal,GlobalOrdinal,Node> & toTpetra(const Map<LocalOrdinal,GlobalOrdinal,Node> &map) {
277  // TODO: throw exception
278  const TpetraMap<LocalOrdinal,GlobalOrdinal,Node> & tpetraMap = dynamic_cast<const TpetraMap<LocalOrdinal,GlobalOrdinal,Node> &>(*map.getMap());
279  return *tpetraMap.getTpetra_Map();
280  }
281 
282  template <class LocalOrdinal, class GlobalOrdinal, class Node>
284  typedef TpetraMap<LocalOrdinal, GlobalOrdinal, Node> TpetraMapClass;
285  if (map != Teuchos::null) {
286  XPETRA_RCP_DYNAMIC_CAST(const TpetraMapClass, map->getMap(), tpetraMap, "toTpetra");
287  return tpetraMap->getTpetra_Map();
288  }
289  return Teuchos::null;
290  }
291 
292  // In some cases (for instance, in MueLu adapter to Tpetra operator), we need to return a reference. This is only possible if
293  // we assume that the map argument is nonzero
294  template <class LocalOrdinal, class GlobalOrdinal, class Node>
296  TEUCHOS_TEST_FOR_EXCEPTION(map.is_null(), std::invalid_argument, "map must be nonzero");
297  typedef TpetraMap<LocalOrdinal, GlobalOrdinal, Node> TpetraMapClass;
298  XPETRA_RCP_DYNAMIC_CAST(const TpetraMapClass, map->getMap(), tpetraMap, "toTpetra");
299  return tpetraMap->getTpetra_Map();
300  }
301 
302  template <class LocalOrdinal, class GlobalOrdinal, class Node>
303  const RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> > toXpetra(const RCP<const Tpetra::Map<LocalOrdinal,GlobalOrdinal,Node> >& map) {
304  if (!map.is_null())
306 
307  return Teuchos::null;
308  }
309 
310  template <class LocalOrdinal, class GlobalOrdinal, class Node>
311  const RCP<Map<LocalOrdinal,GlobalOrdinal,Node> > toXpetraNonConst(const RCP<const Tpetra::Map<LocalOrdinal,GlobalOrdinal,Node> >& map) {
312  if (!map.is_null())
314 
315  return Teuchos::null;
316  }
317 
318 
319  namespace useTpetra {
320 
322 #ifdef TPETRA_ENABLE_DEPRECATED_CODE
323  template <class LocalOrdinal, class GlobalOrdinal, class Node>
324  TPETRA_DEPRECATED
326  createLocalMapWithNode(size_t numElements, const Teuchos::RCP< const Teuchos::Comm< int > > &comm, const Teuchos::RCP< Node > & /* node */)
327  {
328  return createLocalMapWithNode<LocalOrdinal,GlobalOrdinal,Node>
329  (numElements, comm);
330  }
331 #endif // TPETRA_ENABLE_DEPRECATED_CODE
332  template <class LocalOrdinal, class GlobalOrdinal, class Node>
334  createLocalMapWithNode(size_t numElements, const Teuchos::RCP< const Teuchos::Comm< int > > &comm)
335  {
336  XPETRA_MONITOR("useTpetra::createLocalMapWithNode");
337 
338  return rcp(new TpetraMap<LocalOrdinal,GlobalOrdinal,Node>(Tpetra::createLocalMapWithNode<LocalOrdinal,GlobalOrdinal,Node>(numElements, comm)));
339  }
340 
342  template <class LocalOrdinal, class GlobalOrdinal>
344  createContigMap(global_size_t numElements, size_t localNumElements, const Teuchos::RCP< const Teuchos::Comm< int > > &comm) {
345  XPETRA_MONITOR("useTpetra::createContigMap");
346 
347  return rcp(new TpetraMap<LocalOrdinal,GlobalOrdinal, typename Tpetra::Map<>::node_type>(Tpetra::createContigMap<LocalOrdinal,GlobalOrdinal, typename Tpetra::Map<>::node_type>(numElements, localNumElements, comm)));
348  }
349 
351 #ifdef TPETRA_ENABLE_DEPRECATED_CODE
352  template <class LocalOrdinal, class GlobalOrdinal, class Node>
353  TPETRA_DEPRECATED
355  createContigMapWithNode(global_size_t numElements, size_t localNumElements,
356  const Teuchos::RCP< const Teuchos::Comm< int > > &comm, const TPETRA_DEPRECATED Teuchos::RCP< Node > & /* node */ )
357  {
358  return createContigMapWithNode<LocalOrdinal,GlobalOrdinal,Node>
359  (numElements, localNumElements, comm);
360  }
361 #endif // TPETRA_ENABLE_DEPRECATED_CODE
362  template <class LocalOrdinal, class GlobalOrdinal, class Node>
364  createContigMapWithNode(global_size_t numElements, size_t localNumElements,
365  const Teuchos::RCP< const Teuchos::Comm< int > > &comm)
366  {
367  XPETRA_MONITOR("useTpetra::createContigMap");
368  return rcp(new TpetraMap<LocalOrdinal,GlobalOrdinal,Node>(Tpetra::createContigMapWithNode<LocalOrdinal,GlobalOrdinal,Node>(numElements, localNumElements, comm)));
369  }
370  } // useTpetra namespace
371 
372 #define XPETRA_TPETRAMAP_SHORT
373 } // Xpetra namespace
374 #endif // XPETRA_TPETRAMAP_DECL_HPP
375 
XPETRA_RCP_DYNAMIC_CAST
#define XPETRA_RCP_DYNAMIC_CAST(type, obj, newObj, exceptionMsg)
Definition: Xpetra_Exceptions.hpp:65
Kokkos::Compat::KokkosSerialWrapperNode
Definition: Kokkos_SerialNode.hpp:57
Xpetra::LocalGlobal
LocalGlobal
Definition: Xpetra_ConfigDefs.hpp:177
Xpetra
Xpetra namespace
Definition: Xpetra_BlockedCrsMatrix.hpp:88
Xpetra::TpetraMap::getMinGlobalIndex
GlobalOrdinal getMinGlobalIndex() const
The minimum global index owned by the calling process.
Definition: Xpetra_TpetraMap_def.hpp:187
Xpetra::global_size_t
size_t global_size_t
Global size_t object.
Definition: Xpetra_ConfigDefs.hpp:174
Xpetra::useTpetra::createContigMapWithNode
Teuchos::RCP< const TpetraMap< LocalOrdinal, GlobalOrdinal, Node > > createContigMapWithNode(global_size_t numElements, size_t localNumElements, const Teuchos::RCP< const Teuchos::Comm< int > > &comm)
Non-member function to create a (potentially) non-uniform, contiguous Map with a user-specified node.
Definition: Xpetra_TpetraMap_decl.hpp:364
Xpetra::TpetraMap::getTpetra_Map
RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > getTpetra_Map() const
Get the underlying Tpetra map.
Definition: Xpetra_TpetraMap_def.hpp:284
Xpetra::toTpetra
RCP< const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > toTpetra(const RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &graph)
Definition: Xpetra_TpetraCrsGraph_decl.hpp:378
Xpetra::TpetraMap::getLocalElement
LocalOrdinal getLocalElement(GlobalOrdinal globalIndex) const
The local index corresponding to the given global index.
Definition: Xpetra_TpetraMap_def.hpp:203
Xpetra::TpetraMap::getGlobalElement
GlobalOrdinal getGlobalElement(LocalOrdinal localIndex) const
The global index corresponding to the given local index.
Definition: Xpetra_TpetraMap_def.hpp:207
Xpetra::TpetraMap::getNodeNumElements
size_t getNodeNumElements() const
The number of elements belonging to the calling node.
Definition: Xpetra_TpetraMap_def.hpp:171
Xpetra::toXpetra
RCP< const CrsGraph< int, GlobalOrdinal, Node > > toXpetra(const Epetra_CrsGraph &g)
Definition: Xpetra_EpetraCrsGraph.cpp:168
rcp
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Xpetra::TpetraMap::description
std::string description() const
Return a simple one-line description of this object.
Definition: Xpetra_TpetraMap_def.hpp:257
Teuchos::EVerbosityLevel
EVerbosityLevel
Xpetra_Utils.hpp
Xpetra::GloballyDistributed
@ GloballyDistributed
Definition: Xpetra_ConfigDefs.hpp:179
Xpetra::TpetraMap::removeEmptyProcesses
RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > removeEmptyProcesses() const
Definition: Xpetra_TpetraMap_def.hpp:265
Teuchos::ArrayView
Xpetra::Map
Definition: Xpetra_Map_decl.hpp:91
Xpetra::Map::getMap
virtual RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > getMap() const
Definition: Xpetra_Map_def.hpp:64
Teuchos::RCP
Xpetra::TpetraMap::isNodeGlobalElement
bool isNodeGlobalElement(GlobalOrdinal globalIndex) const
True if the global index is found in this Map on this node, else false.
Definition: Xpetra_TpetraMap_def.hpp:227
Xpetra::TpetraMap::getMinAllGlobalIndex
GlobalOrdinal getMinAllGlobalIndex() const
The minimum global index over all processes in the communicator.
Definition: Xpetra_TpetraMap_def.hpp:195
Xpetra::TpetraMap::~TpetraMap
~TpetraMap()
Destructor.
Definition: Xpetra_TpetraMap_def.hpp:161
Xpetra::TpetraMap::isSameAs
bool isSameAs(const Map< LocalOrdinal, GlobalOrdinal, Node > &map) const
True if and only if map is identical to this Map.
Definition: Xpetra_TpetraMap_def.hpp:243
Xpetra::clone
RCP< Map< LocalOrdinal, GlobalOrdinal, Node2 > > clone(const Map< LocalOrdinal, GlobalOrdinal, Node1 > &map, const RCP< Node2 > &node2)
Definition: Xpetra_Cloner.hpp:72
Xpetra::TpetraMap::TpetraMap
TpetraMap(global_size_t numGlobalElements, GlobalOrdinal indexBase, const Teuchos::RCP< const Teuchos::Comm< int > > &comm, LocalGlobal lg=GloballyDistributed)
Constructor with Tpetra-defined contiguous uniform distribution.
Definition: Xpetra_TpetraMap_def.hpp:76
Teuchos::basic_FancyOStream
Xpetra::TpetraMap::isCompatible
bool isCompatible(const Map< LocalOrdinal, GlobalOrdinal, Node > &map) const
True if and only if map is compatible with this Map.
Definition: Xpetra_TpetraMap_def.hpp:239
Xpetra::toXpetraNonConst
const RCP< Map< LocalOrdinal, GlobalOrdinal, Node > > toXpetraNonConst(const RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &map)
Definition: Xpetra_TpetraMap_decl.hpp:311
Xpetra::TpetraMap
Definition: Xpetra_TpetraMap_decl.hpp:69
Xpetra::TpetraMap::getMaxLocalIndex
LocalOrdinal getMaxLocalIndex() const
The maximum local index on the calling process.
Definition: Xpetra_TpetraMap_def.hpp:183
Xpetra::useTpetra::createLocalMapWithNode
Teuchos::RCP< const TpetraMap< LocalOrdinal, GlobalOrdinal, Node > > createLocalMapWithNode(size_t numElements, const Teuchos::RCP< const Teuchos::Comm< int > > &comm)
Non-member function to create a locally replicated Map with a specified node.
Definition: Xpetra_TpetraMap_decl.hpp:334
Xpetra::TpetraMap::map_
RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > map_
Definition: Xpetra_TpetraMap_decl.hpp:270
Xpetra::TpetraMap::getRemoteIndexList
LookupStatus getRemoteIndexList(const Teuchos::ArrayView< const GlobalOrdinal > &GIDList, const Teuchos::ArrayView< int > &nodeIDList, const Teuchos::ArrayView< LocalOrdinal > &LIDList) const
Return the process IDs and corresponding local IDs for the given global IDs.
Definition: Xpetra_TpetraMap_def.hpp:211
Xpetra::TpetraMap::getMaxAllGlobalIndex
GlobalOrdinal getMaxAllGlobalIndex() const
The maximum global index over all processes in the communicator.
Definition: Xpetra_TpetraMap_def.hpp:199
Xpetra::TpetraMap::describe
void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
Print this object with the given verbosity level to the given FancyOStream.
Definition: Xpetra_TpetraMap_def.hpp:261
Xpetra::TpetraMap::getComm
Teuchos::RCP< const Teuchos::Comm< int > > getComm() const
Get this Map's Comm object.
Definition: Xpetra_TpetraMap_def.hpp:247
Xpetra::TpetraMap::isContiguous
bool isContiguous() const
True if this Map is distributed contiguously, else false.
Definition: Xpetra_TpetraMap_def.hpp:231
Xpetra::TpetraMap::lib
UnderlyingLib lib() const
Get the library used by this object (Tpetra or Epetra?)
Definition: Xpetra_TpetraMap_def.hpp:281
Xpetra::TpetraMap::isDistributed
bool isDistributed() const
Whether this Map is globally distributed or locally replicated.
Definition: Xpetra_TpetraMap_def.hpp:235
Xpetra::TpetraMap::getMaxGlobalIndex
GlobalOrdinal getMaxGlobalIndex() const
The maximum global index owned by the calling process.
Definition: Xpetra_TpetraMap_def.hpp:191
Xpetra_TpetraConfigDefs.hpp
Xpetra::toTpetraNonZero
const RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > toTpetraNonZero(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &map)
Definition: Xpetra_TpetraMap_decl.hpp:295
Xpetra::TpetraMap::getNodeElementList
Teuchos::ArrayView< const GlobalOrdinal > getNodeElementList() const
Return a view of the global indices owned by this node.
Definition: Xpetra_TpetraMap_def.hpp:219
Xpetra_Exceptions.hpp
Xpetra::TpetraMap::isNodeLocalElement
bool isNodeLocalElement(LocalOrdinal localIndex) const
True if the local index is valid for this Map on this node, else false.
Definition: Xpetra_TpetraMap_def.hpp:223
Xpetra::UnderlyingLib
UnderlyingLib
Definition: Xpetra_Map_decl.hpp:79
Teuchos::Comm
Teuchos::Describable::verbLevel_default
static const EVerbosityLevel verbLevel_default
TEUCHOS_TEST_FOR_EXCEPTION
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Xpetra::TpetraMap::replaceCommWithSubset
RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > replaceCommWithSubset(const Teuchos::RCP< const Teuchos::Comm< int > > &newComm) const
Replace this Map's communicator with a subset communicator.
Definition: Xpetra_TpetraMap_def.hpp:271
Xpetra::LookupStatus
LookupStatus
Definition: Xpetra_ConfigDefs.hpp:183
XPETRA_MONITOR
#define XPETRA_MONITOR(funcName)
Definition: Xpetra_ConfigDefs.hpp:132
Xpetra::TpetraMap::getMinLocalIndex
LocalOrdinal getMinLocalIndex() const
The minimum local index.
Definition: Xpetra_TpetraMap_def.hpp:179
Xpetra::useTpetra::createContigMap
Teuchos::RCP< const TpetraMap< LocalOrdinal, GlobalOrdinal, typename Tpetra::Map<>::node_type > > createContigMap(global_size_t numElements, size_t localNumElements, const Teuchos::RCP< const Teuchos::Comm< int > > &comm)
Non-member function to create a (potentially) non-uniform, contiguous Map with the default node.
Definition: Xpetra_TpetraMap_decl.hpp:344
Xpetra::TpetraMap::getGlobalNumElements
global_size_t getGlobalNumElements() const
The number of elements in this Map.
Definition: Xpetra_TpetraMap_def.hpp:167
Xpetra::TpetraMap::getIndexBase
GlobalOrdinal getIndexBase() const
The index base for this Map.
Definition: Xpetra_TpetraMap_def.hpp:175