Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | List of all members
Tpetra::Details::DistributedContiguousDirectory< LocalOrdinal, GlobalOrdinal, NodeType > Class Template Reference

Implementation of Directory for a distributed contiguous Map. More...

#include <Tpetra_DirectoryImpl_decl.hpp>

Inheritance diagram for Tpetra::Details::DistributedContiguousDirectory< LocalOrdinal, GlobalOrdinal, NodeType >:
Inheritance graph
[legend]

Public Member Functions

bool isOneToOne (const Teuchos::Comm< int > &) const override
 Whether the Directory's input Map is (globally) one to one. More...
 
LookupStatus getEntries (const map_type &map, const Teuchos::ArrayView< const GlobalOrdinal > &globalIDs, const Teuchos::ArrayView< int > &nodeIDs, const Teuchos::ArrayView< LocalOrdinal > &localIDs, const bool computeLIDs) const
 
Implementation of Teuchos::Describable.
std::string description () const override
 A one-line human-readable description of this object. More...
 

Protected Member Functions

LookupStatus getEntriesImpl (const map_type &map, const Teuchos::ArrayView< const GlobalOrdinal > &globalIDs, const Teuchos::ArrayView< int > &nodeIDs, const Teuchos::ArrayView< LocalOrdinal > &localIDs, const bool computeLIDs) const override
 Find process IDs and (optionally) local IDs for the given global IDs. More...
 

Detailed Description

template<class LocalOrdinal, class GlobalOrdinal, class NodeType>
class Tpetra::Details::DistributedContiguousDirectory< LocalOrdinal, GlobalOrdinal, NodeType >

Implementation of Directory for a distributed contiguous Map.

Definition at line 248 of file Tpetra_DirectoryImpl_decl.hpp.

Member Function Documentation

template<class LocalOrdinal , class GlobalOrdinal , class NodeType >
bool Tpetra::Details::DistributedContiguousDirectory< LocalOrdinal, GlobalOrdinal, NodeType >::isOneToOne ( const Teuchos::Comm< int > &  comm) const
inlineoverridevirtual

Whether the Directory's input Map is (globally) one to one.

This method should always be treated as a collective on all processes in the given communicator, which must be the same as the input Map's communicator. Not all implementations necessarily communicate.

Implements Tpetra::Details::Directory< LocalOrdinal, GlobalOrdinal, NodeType >.

Definition at line 261 of file Tpetra_DirectoryImpl_decl.hpp.

template<class LO , class GO , class NT >
std::string Tpetra::Details::DistributedContiguousDirectory< LO, GO, NT >::description ( ) const
override

A one-line human-readable description of this object.

Definition at line 362 of file Tpetra_DirectoryImpl_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class NodeType >
LookupStatus Tpetra::Details::DistributedContiguousDirectory< LO, GO, NT >::getEntriesImpl ( const map_type map,
const Teuchos::ArrayView< const GlobalOrdinal > &  globalIDs,
const Teuchos::ArrayView< int > &  nodeIDs,
const Teuchos::ArrayView< LocalOrdinal > &  localIDs,
const bool  computeLIDs 
) const
overrideprotectedvirtual

Find process IDs and (optionally) local IDs for the given global IDs.

Implements Tpetra::Details::Directory< LocalOrdinal, GlobalOrdinal, NodeType >.

Definition at line 418 of file Tpetra_DirectoryImpl_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class NodeType >
LookupStatus Tpetra::Details::Directory< LO, GO, NT >::getEntries ( const map_type map,
const Teuchos::ArrayView< const GlobalOrdinal > &  globalIDs,
const Teuchos::ArrayView< int > &  nodeIDs,
const Teuchos::ArrayView< LocalOrdinal > &  localIDs,
const bool  computeLIDs 
) const
inherited

Find process IDs and (optionally) local IDs for the given global IDs.

Precondition
nodeIDs.size() == globalIDs.size()
! computeLIDs || localIDs.size() == globalIDs.size()
Parameters
map[in] The Directory's Map. This must be the same as given to the Directory's constructor. Directory may not keep a reference to the Map, in order to avoid circular references between a Map and its Directory.
globalIDs[in] The global IDs for which to find process IDs (and optionally local IDs).
nodeIDs[out] The process IDs corresponding to the given global IDs. If a global ID does not belong to any process, the corresponding entry of nodeIDs will be -1.
localIDs[out] If computeLIDs is true, we fill this with the local IDs corresponding to the given global IDs. If a given global ID does not correspond to a local ID, the corresponding entry will be Teuchos::OrdinalTraits<LocalOrdinal>::invalid().
computeLIDs[in] Whether to fill in localIDs.
Returns
If at least one GID was not present in the directory, return IDNotPresent. Otherwise, return AllIDsPresent.
Note
To implementers: The implementation of this method first performs input validation, then invokes getEntriesImpl() (implemented in the subclass) to do the work.

Definition at line 66 of file Tpetra_DirectoryImpl_def.hpp.


The documentation for this class was generated from the following files: