FEI Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Attributes | List of all members
fei::SharedIDs< T > Class Template Reference

#include <fei_SharedIDs.hpp>

Inheritance diagram for fei::SharedIDs< T >:
Inheritance graph
[legend]

Public Types

typedef std::map< T, std::set
< int > > 
map_type
 

Public Member Functions

 SharedIDs ()
 
 SharedIDs (const SharedIDs< T > &src)
 
virtual ~SharedIDs ()
 
void addSharedID (const T &ID, size_t numSharingProcs, const int *sharingProcs)
 
map_typegetSharedIDs ()
 
const map_typegetSharedIDs () const
 
std::vector< int > & getOwningProcs ()
 
const std::vector< int > & getOwningProcs () const
 

Private Attributes

map_type sharedIDs_
 
std::vector< int > owningProcs_
 

Detailed Description

template<typename T>
class fei::SharedIDs< T >

Simple container for IDs that are shared among multiple processors.

Definition at line 22 of file fei_SharedIDs.hpp.

Member Typedef Documentation

template<typename T>
typedef std::map<T,std::set<int> > fei::SharedIDs< T >::map_type

typedef for the type of the internal data container

Definition at line 38 of file fei_SharedIDs.hpp.

Constructor & Destructor Documentation

template<typename T>
fei::SharedIDs< T >::SharedIDs ( )
inline

constructor

Definition at line 25 of file fei_SharedIDs.hpp.

template<typename T>
fei::SharedIDs< T >::SharedIDs ( const SharedIDs< T > &  src)
inline

Copy Constructor

Definition at line 30 of file fei_SharedIDs.hpp.

template<typename T>
virtual fei::SharedIDs< T >::~SharedIDs ( )
inlinevirtual

destructor

Definition at line 35 of file fei_SharedIDs.hpp.

Member Function Documentation

template<typename T>
void fei::SharedIDs< T >::addSharedID ( const T &  ID,
size_t  numSharingProcs,
const int *  sharingProcs 
)
inline

Associate ID with specified sharing processors. If ID is already present in the sharedIDs table, then this method simply adds the specified sharing processors to that ID's set of sharing processors (if they are not already present).

Definition at line 45 of file fei_SharedIDs.hpp.

Referenced by fei::copy_into_shared_ids(), and fei::VectorSpace::initSharedIDs().

template<typename T>
map_type& fei::SharedIDs< T >::getSharedIDs ( )
inline
template<typename T>
const map_type& fei::SharedIDs< T >::getSharedIDs ( ) const
inline

Retrieve the internal container holding shared-ID data.

Definition at line 60 of file fei_SharedIDs.hpp.

template<typename T>
std::vector<int>& fei::SharedIDs< T >::getOwningProcs ( )
inline

Retrieve a vector holding the owning-processors for the stored shared IDs.

Definition at line 64 of file fei_SharedIDs.hpp.

Referenced by fei::set_shared_ids(), snl_fei::RecordCollection::setOwners_lowestSharing(), and fei::VectorSpace::synchronizeSharedRecords().

template<typename T>
const std::vector<int>& fei::SharedIDs< T >::getOwningProcs ( ) const
inline

Retrieve a vector holding the owning-processors for the stored shared IDs.

Definition at line 68 of file fei_SharedIDs.hpp.

Member Data Documentation

template<typename T>
map_type fei::SharedIDs< T >::sharedIDs_
private
template<typename T>
std::vector<int> fei::SharedIDs< T >::owningProcs_
private

Definition at line 72 of file fei_SharedIDs.hpp.

Referenced by fei::SharedIDs< int >::getOwningProcs().


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