Tpetra Matrix/Vector Services Version of the Day
Public Member Functions | Protected Member Functions
Tpetra::Details::DistributedNoncontiguousDirectory< LocalOrdinal, GlobalOrdinal, NodeType > Class Template Reference

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

#include <Tpetra_DirectoryImpl_decl.hpp>

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

List of all members.

Public Member Functions

 DistributedNoncontiguousDirectory (const map_type &map)
 Constructor.
 DistributedNoncontiguousDirectory (const map_type &map, const tie_break_type &tie_break)
 Constructor.
virtual bool isOneToOne (const Teuchos::Comm< int > &comm) const
 Whether the Directory's input Map is (globally) one to one.
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
 A one-line human-readable description of this object.

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
 Find process IDs and (optionally) local IDs for the given global IDs.

Detailed Description

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

Implementation of Directory for a distributed noncontiguous Map.

Definition at line 340 of file Tpetra_DirectoryImpl_decl.hpp.


Constructor & Destructor Documentation

template<class LO , class GO , class NT >
Tpetra::Details::DistributedNoncontiguousDirectory< LO, GO, NT >::DistributedNoncontiguousDirectory ( const map_type map)

Constructor.

Definition at line 496 of file Tpetra_DirectoryImpl_def.hpp.

template<class LO , class GO , class NT >
Tpetra::Details::DistributedNoncontiguousDirectory< LO, GO, NT >::DistributedNoncontiguousDirectory ( const map_type map,
const tie_break_type tie_break 
)

Constructor.

Definition at line 506 of file Tpetra_DirectoryImpl_def.hpp.


Member Function Documentation

template<class LO , class GO , class NT >
bool Tpetra::Details::DistributedNoncontiguousDirectory< LO, GO, NT >::isOneToOne ( const Teuchos::Comm< int > &  comm) const [virtual]

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 1160 of file Tpetra_DirectoryImpl_def.hpp.

template<class LO , class GO , class NT >
std::string Tpetra::Details::DistributedNoncontiguousDirectory< LO, GO, NT >::description ( ) const [virtual]

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

Reimplemented from Teuchos::Describable.

Definition at line 918 of file Tpetra_DirectoryImpl_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class NodeType >
LookupStatus Tpetra::Details::DistributedNoncontiguousDirectory< 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 [protected, virtual]

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

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

Definition at line 173 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 72 of file Tpetra_DirectoryImpl_def.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines