PEARL
Parallel Event Access and Replay Library
Static Public Attributes | List of all members
pearl::CommLocationSet Class Reference

Grouping set definition representation for a set of Location definition objects participating in a particular paradigm. More...

#include <pearl/CommLocationSet.h>

Inheritance diagram for pearl::CommLocationSet:
pearl::LocationSet pearl::GroupingSet pearl::uncopyable::Uncopyable

Public Member Functions

Constructors & destructor
 CommLocationSet (IdType id, const String &name, Paradigm paradigm, const std::vector< const Location * > &members)
 Constructor. More...
 
Query functions
virtual SetType getType () const
 Get grouping set type. More...
 
Paradigm getParadigm () const
 Get paradigm. More...
 
- Public Member Functions inherited from pearl::LocationSet
 LocationSet (IdType id, const String &name, const std::vector< const Location * > &members)
 Constructor. More...
 
std::size_t numLocations () const
 Get number of locations. More...
 
const LocationgetLocation (std::size_t rank) const
 Get location by rank. More...
 
- Public Member Functions inherited from pearl::GroupingSet
IdType getId () const
 Get global identifier. More...
 
const StringgetName () const
 Get grouping set name. More...
 
virtual ~GroupingSet ()
 Destructor. More...
 

Static Public Attributes

static const IdType NO_ID = (~static_cast< IdType >(0))
 Numerical identifier used for undefined communication location set definitions. More...
 
static const CommLocationSet UNDEFINED
 Static instance of class CommLocationSet representing undefined communication location set entries in other definitions. More...
 

Additional Inherited Members

- Public Types inherited from pearl::GroupingSet
enum  SetType {
  LOCATION_SET,
  REGION_SET,
  METRIC_SET,
  COMM_LOCATION_SET,
  COMM_SET
}
 Grouping set types. More...
 
enum  Property {
  PROPERTY_NONE = 0,
  PROPERTY_SELF = (1 << 0),
  PROPERTY_WORLD = (1 << 1),
  PROPERTY_GLOBAL_RANKS = (1 << 2)
}
 Grouping set properties. More...
 
typedef uint32_t IdType
 Grouping set definition identifier type. More...
 
typedef Flags< Property, uint8_t > Properties
 Grouping set property flags type. More...
 
- Protected Member Functions inherited from pearl::GroupingSet
 GroupingSet (IdType id, const String &name)
 Constructor. More...
 

Detailed Description

The CommLocationSet class provides a specialized location set definition representation for an ordered set of Location definition objects which participate in a particular paradigm. Note that a CommLocationSet does not take ownership of the provided Location definition objects. Thus, care has to be taken with respect to the deletion and lifetime of the referenced Location objects.

Constructor & Destructor Documentation

◆ CommLocationSet()

pearl::CommLocationSet::CommLocationSet ( IdType  id,
const String name,
Paradigm  paradigm,
const std::vector< const Location * > &  members 
)

Constructs a new instance with the given global identifier id, communication location set name, the corresponding paradigm, and a members vector providing an ordered list of Location definition objects defining the set.

Parameters
idGlobal grouping set identifier
nameCommunication location set name
paradigmCommunication paradigm
membersList of Location definition objects defining the set
        \n@par Exception safety\n        <b class="paramname">Strong guarantee:</b>         no effects in case an exception is thrown.        <br>\n
Exceptions
std::bad_allocon failure to allocate storage

Member Function Documentation

◆ getParadigm()

Paradigm pearl::CommLocationSet::getParadigm ( ) const

Returns the paradigm associated to this communication location set.

Returns
Communication paradigm
        \n@par Exception safety\n        <b class="paramname">No-throw guarantee:</b>         never throws exceptions.        <br>\n

◆ getType()

virtual SetType pearl::CommLocationSet::getType ( ) const
virtual

Returns the type of the grouping set.

Returns
Set type (i.e., GroupingSet::COMM_LOCATION_SET)
        \n@par Exception safety\n        <b class="paramname">No-throw guarantee:</b>         never throws exceptions.        <br>\n

Reimplemented from pearl::LocationSet.

Member Data Documentation

◆ NO_ID

const IdType pearl::CommLocationSet::NO_ID = (~static_cast< IdType >(0))
static

◆ UNDEFINED

const CommLocationSet pearl::CommLocationSet::UNDEFINED
static

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

Scalasca    Copyright © 1998–2019 Forschungszentrum Jülich GmbH, Jülich Supercomputing Centre
Copyright © 2009–2015 German Research School for Simulation Sciences GmbH, Laboratory for Parallel Programming