46 #ifndef XPETRA_MAP_DECL_HPP
47 #define XPETRA_MAP_DECL_HPP
52 #include <Teuchos_Describable.hpp>
54 #ifdef HAVE_XPETRA_EPETRA
55 #include "Epetra_config.h"
58 #ifdef HAVE_XPETRA_KOKKOS_REFACTOR
59 #ifdef HAVE_XPETRA_TPETRA
60 #include <Tpetra_Map.hpp>
69 #ifdef HAVE_XPETRA_EPETRA
70 # ifdef EPETRA_HAVE_OMP
86 template <
class LocalOrdinal,
90 :
public Teuchos::Describable
136 virtual LocalOrdinal
getLocalElement(GlobalOrdinal globalIndex)
const = 0;
143 const Teuchos::ArrayView< int > &nodeIDList,
144 const Teuchos::ArrayView< LocalOrdinal > &LIDList)
const = 0;
148 const Teuchos::ArrayView< int > &nodeIDList)
const = 0;
182 virtual Teuchos::RCP< const Teuchos::Comm< int > >
getComm()
const = 0;
194 virtual void describe(Teuchos::FancyOStream &out,
195 const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default)
const = 0;
206 virtual RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > >
222 virtual RCP<const Xpetra::Map<LocalOrdinal, GlobalOrdinal, Node> >
getMap()
const;
224 #ifdef HAVE_XPETRA_KOKKOS_REFACTOR
225 #ifdef HAVE_XPETRA_TPETRA
226 typedef typename Tpetra::Map<LocalOrdinal, GlobalOrdinal, Node>::local_map_type local_map_type;
229 virtual local_map_type getLocalMap ()
const = 0;
239 #define XPETRA_MAP_SHORT
240 #endif // XPETRA_MAP_DECL_HPP
virtual LookupStatus getRemoteIndexList(const Teuchos::ArrayView< const GlobalOrdinal > &GIDList, const Teuchos::ArrayView< int > &nodeIDList, const Teuchos::ArrayView< LocalOrdinal > &LIDList) const =0
Return the process ranks and corresponding local indices for the given global indices.
virtual Teuchos::ArrayView< const GlobalOrdinal > getNodeElementList() const =0
Return a view of the global indices owned by this process.
LocalOrdinal local_ordinal_type
virtual Teuchos::RCP< const Teuchos::Comm< int > > getComm() const =0
Get this Map's Comm object.
virtual RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > replaceCommWithSubset(const Teuchos::RCP< const Teuchos::Comm< int > > &newComm) const =0
Replace this Map's communicator with a subset communicator.
virtual bool isDistributed() const =0
Whether this Map is globally distributed or locally replicated.
virtual LocalOrdinal getMinLocalIndex() const =0
The minimum local index.
GlobalOrdinal global_ordinal_type
virtual bool isCompatible(const Map< LocalOrdinal, GlobalOrdinal, Node > &map) const =0
True if and only if map is compatible with this Map.
virtual GlobalOrdinal getMinAllGlobalIndex() const =0
The minimum global index over all processes in the communicator.
virtual size_t getNodeNumElements() const =0
The number of elements belonging to the calling process.
virtual LocalOrdinal getLocalElement(GlobalOrdinal globalIndex) const =0
The local index corresponding to the given global index.
virtual GlobalOrdinal getMinGlobalIndex() const =0
The minimum global index owned by the calling process.
Kokkos::Compat::KokkosSerialWrapperNode EpetraNode
virtual GlobalOrdinal getIndexBase() const =0
The index base for this Map.
virtual RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > getMap() const
virtual RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > removeEmptyProcesses() const =0
Return a new Map with processes with zero elements removed.
virtual bool isNodeGlobalElement(GlobalOrdinal globalIndex) const =0
Whether the given global index is valid for this Map on this process.
virtual GlobalOrdinal getMaxGlobalIndex() const =0
The maximum global index owned by the calling process.
virtual GlobalOrdinal getMaxAllGlobalIndex() const =0
The maximum global index over all processes in the communicator.
virtual GlobalOrdinal getGlobalElement(LocalOrdinal localIndex) const =0
The global index corresponding to the given local index.
virtual LocalOrdinal getMaxLocalIndex() const =0
The maximum local index on the calling process.
size_t global_size_t
Global size_t object.
virtual bool isSameAs(const Map< LocalOrdinal, GlobalOrdinal, Node > &map) const =0
True if and only if map is identical to this Map.
virtual bool isNodeLocalElement(LocalOrdinal localIndex) const =0
Whether the given local index is valid for this Map on this process.
virtual global_size_t getGlobalNumElements() const =0
The number of elements in this Map.
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const =0
Print this object with the given verbosity level to the given Teuchos::FancyOStream.
virtual bool isContiguous() const =0
True if this Map is distributed contiguously, else false.
virtual ~Map()
Destructor.
virtual UnderlyingLib lib() const =0
Get the library used by this object (Tpetra or Epetra?)
virtual std::string description() const =0
Return a simple one-line description of this object.