![]() |
PEARL
Parallel Event Access and Replay Library
|
Abstract base class of grouping set definition representations. More...
#include <pearl/GroupingSet.h>
Public Types | |
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... | |
Public Member Functions | |
Query functions | |
IdType | getId () const |
Get global identifier. More... | |
const String & | getName () const |
Get grouping set name. More... | |
virtual SetType | getType () const =0 |
Get grouping set type. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &stream, const GroupingSet &item) |
Constructors & destructor | |
virtual | ~GroupingSet () |
Destructor. More... | |
GroupingSet (IdType id, const String &name) | |
Constructor. More... | |
GroupingSet is an abstract base class that defines the common interface of grouping set definition representations. Grouping sets are ordered sets and can be defined over different types of items, for example, Location, Region, or Metric definition objects, as well as numeric identifiers (ranks) defining subgroups of communication location set items. Each of these grouping set types is implemented by a concrete derived class, due to slightly different characteristics.
typedef uint32_t pearl::GroupingSet::IdType |
typedef Flags< Property, uint8_t > pearl::GroupingSet::Properties |
Symbolic names for flags indicating certain properties of specific grouping sets. Property flags are only relevant for communication sets (
Symbolic names for different types of grouping sets (i.e., sets defined over different types of items).
Enumerator | |
---|---|
LOCATION_SET | Set of Location definition objects. |
REGION_SET | Set of Region definition objects. |
METRIC_SET | Set of Metric definition objects. |
COMM_LOCATION_SET | Set of Location definition objects which participate in a particular Paradigm. |
COMM_SET | Set of identifiers (ranks) defining a subgroup of the COMM_LOCATION_SET of the corresponding Paradigm. |
|
virtual |
Destroys the grouping set instance.
\n@par Exception safety\n <b class="paramname">No-throw guarantee:</b> never throws exceptions. <br>\n
Constructs a new instance with the given global identifier id
and grouping set name
.
id | Global grouping set identifier |
name | Grouping set name \n@par Exception safety\n <b class="paramname">No-throw guarantee:</b> never throws exceptions. <br>\n |
IdType pearl::GroupingSet::getId | ( | ) | const |
Returns the global identifier of the grouping set definition.
\n@par Exception safety\n <b class="paramname">No-throw guarantee:</b> never throws exceptions. <br>\n
const String& pearl::GroupingSet::getName | ( | ) | const |
Returns the string definition storing the grouping set's name. If this information is not available, String::UNDEFINED is returned.
\n@par Exception safety\n <b class="paramname">No-throw guarantee:</b> never throws exceptions. <br>\n
|
pure virtual |
Pure virtual member function that has to be overwritten in derived classes to return the corresponding type of the grouping set.
\n@par Exception safety\n <b class="paramname">No-throw guarantee:</b> never throws exceptions. <br>\n
Implemented in pearl::CommSet, pearl::CommLocationSet, and pearl::LocationSet.
|
related |
Returns a GroupingSet::Properties object containing the result of a binary AND on corresponding pairs of flags of rhs
and
rhs
.
lhs | Left-hand side operand |
rhs | Right-hand side operand |
|
related |
Returns a GroupingSet::Properties object containing the result of a binary AND on corresponding pairs of flags of rhs
and
rhs
.
lhs | Left-hand side operand |
rhs | Right-hand side operand |
|
related |
Returns a GroupingSet::Properties object containing the result of a binary AND on corresponding pairs of flags of rhs
and
rhs
.
lhs | Left-hand side operand |
rhs | Right-hand side operand |
|
friend |
|
related |
Prints the contents of the given grouping set definition object item
to an output stream
in a human-readable form.
stream | Output stream |
item | Grouping set definition object |
|
related |
Returns a GroupingSet::Properties object containing the result of a binary OR on corresponding pairs of flags of rhs
and
rhs
.
lhs | Left-hand side operand |
rhs | Right-hand side operand |
|
related |
Returns a GroupingSet::Properties object containing the result of a binary OR on corresponding pairs of flags of rhs
and
rhs
.
lhs | Left-hand side operand |
rhs | Right-hand side operand |
|
related |
Returns a GroupingSet::Properties object containing the result of a binary OR on corresponding pairs of flags of rhs
and
rhs
.
lhs | Left-hand side operand |
rhs | Right-hand side operand |
|
related |
Returns a GroupingSet::Properties object containing the result of a binary OR on corresponding pairs of flags of rhs
and
rhs
.
lhs | Left-hand side operand |
rhs | Right-hand side operand |
|
related |
Returns an std::string
with a human-readable representation of the given grouping set properties
.
properties | Grouping set property flags |
properties
as a sequence of characters \n@par Exception safety\n <b class="paramname">Strong guarantee:</b> no effects in case an exception is thrown. <br>\n
std::bad_alloc | on failure to allocate storage |
|
related |
Returns an std::string
with a human-readable representation of the given grouping set type
.
type | Grouping set type |
type
as a sequence of characters \n@par Exception safety\n <b class="paramname">Strong guarantee:</b> no effects in case an exception is thrown. <br>\n
std::bad_alloc | on failure to allocate storage |
![]() |
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 |