Epetra Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
Epetra_Directory Class Referenceabstract

Epetra_Directory: This class is a pure virtual class whose interface allows Epetra_Map and Epetr_BlockMap objects to reference non-local elements. More...

#include <Epetra_Directory.h>

Inheritance diagram for Epetra_Directory:
Inheritance graph
[legend]

Constructors/Destructor

virtual ~Epetra_Directory ()
 Epetra_Directory destructor. More...
 

Query method

virtual int GetDirectoryEntries (const Epetra_BlockMap &Map, const int NumEntries, const int *GlobalEntries, int *Procs, int *LocalEntries, int *EntrySizes, bool high_rank_sharing_procs=false) const =0
 GetDirectoryEntries : Returns proc and local id info for non-local map entries. More...
 
virtual int GetDirectoryEntries (const Epetra_BlockMap &Map, const int NumEntries, const long long *GlobalEntries, int *Procs, int *LocalEntries, int *EntrySizes, bool high_rank_sharing_procs=false) const =0
 
virtual bool GIDsAllUniquelyOwned () const =0
 GIDsAllUniquelyOwned: returns true if all GIDs appear on just one processor. More...
 

Detailed Description

Epetra_Directory: This class is a pure virtual class whose interface allows Epetra_Map and Epetr_BlockMap objects to reference non-local elements.

For Epetra_BlockMap objects, a Epetra_Directory object must be created by a call to the Epetra_Comm CreateDirectory method. The Directory is needed to allow referencing of non-local elements.

Definition at line 67 of file Epetra_Directory.h.

Constructor & Destructor Documentation

virtual Epetra_Directory::~Epetra_Directory ( )
inlinevirtual

Epetra_Directory destructor.

Definition at line 74 of file Epetra_Directory.h.

Member Function Documentation

virtual int Epetra_Directory::GetDirectoryEntries ( const Epetra_BlockMap Map,
const int  NumEntries,
const int *  GlobalEntries,
int *  Procs,
int *  LocalEntries,
int *  EntrySizes,
bool  high_rank_sharing_procs = false 
) const
pure virtual

GetDirectoryEntries : Returns proc and local id info for non-local map entries.

Given a list of Global Entry IDs, this function returns the list of processor IDs and local IDs on the owning processor that correspond to the list of entries. If LocalEntries is 0, then local IDs are not returned. If EntrySizes is nonzero, it will contain a list of corresponding element sizes for the requested global entries.

Parameters
InNumEntries - Number of Global IDs being passed in.
InGlobalEntries - List of Global IDs being passed in.
InOutProcs - User allocated array of length at least NumEntries. On return contains list of processors owning the Global IDs in question.
InOutLocalEntries - User allocated array of length at least NumEntries. On return contains the local ID of the global on the owning processor. If LocalEntries is zero, no local ID information is returned.
InOutEntrySizes - User allocated array of length at least NumEntries. On return contains the size of the object associated with this global ID. If LocalEntries is zero, no size information is returned.
Inhigh_rank_sharing_procs Optional argument, defaults to true. If any GIDs appear on multiple processors (referred to as "sharing procs"), this specifies whether the lowest-rank proc or the highest-rank proc is chosen as the "owner".
Returns
Integer error code, set to 0 if successful.

Implemented in Epetra_BasicDirectory.

virtual int Epetra_Directory::GetDirectoryEntries ( const Epetra_BlockMap Map,
const int  NumEntries,
const long long *  GlobalEntries,
int *  Procs,
int *  LocalEntries,
int *  EntrySizes,
bool  high_rank_sharing_procs = false 
) const
pure virtual

Implemented in Epetra_BasicDirectory.

virtual bool Epetra_Directory::GIDsAllUniquelyOwned ( ) const
pure virtual

GIDsAllUniquelyOwned: returns true if all GIDs appear on just one processor.

If any GIDs are owned by multiple processors, returns false.

Implemented in Epetra_BasicDirectory.


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