PEARL
Parallel Event Access and Replay Library
Public Types | List of all members
pearl::CartDimension Class Reference

Representation of a Cartesian grid topology dimension definition. More...

#include <pearl/CartDimension.h>

Inheritance diagram for pearl::CartDimension:
pearl::uncopyable::Uncopyable

Public Types

enum  Periodicity {
  NON_PERIODIC,
  PERIODIC
}
 Dimension periodicity type. More...
 
typedef uint32_t IdType
 CartDimension definition identifier type. More...
 

Public Member Functions

Constructors & destructor
 CartDimension (IdType id, const String &name, uint32_t size, Periodicity periodicity)
 Constructor. More...
 
Access definition data
IdType getId () const
 Get global identifier. More...
 
const StringgetName () const
 Get dimension name. More...
 
uint32_t getSize () const
 Get dimension size. More...
 
bool isPeriodic () const
 Get periodicity. More...
 

Related Functions

(Note that these are not member functions.)

Stream I/O functions
std::ostream & operator<< (std::ostream &stream, const CartDimension &item)
 Stream output operator. More...
 

Detailed Description

The CartDimension class provides a representation of a Cartesian grid topology dimension definition. It stores information about a single dimension of a Cartesian grid topology, such as its name (i.e., label), size (i.e., allowed coordinate range), and periodicity.

Member Typedef Documentation

◆ IdType

typedef uint32_t pearl::CartDimension::IdType

Member Enumeration Documentation

◆ Periodicity

Symbolic names specifying whether the Cartesian grid topology dimension is periodic or not.

Enumerator
NON_PERIODIC 

Dimension is not periodic.

PERIODIC 

Dimension is periodic.

Constructor & Destructor Documentation

◆ CartDimension()

pearl::CartDimension::CartDimension ( IdType  id,
const String name,
uint32_t  size,
Periodicity  periodicity 
)

Creates a new instance with the given global identifier id, dimension name, dimension size, and periodicity.

Parameters
idGlobal Cartesian grid topology dimension identifier
nameName (label) of the dimension
sizeSize of the dimension
periodicityDefines whether the dimension is periodic or not
        \n@par Exception safety\n        <b class="paramname">No-throw guarantee:</b>         never throws exceptions.        <br>\n

Member Function Documentation

◆ getId()

IdType pearl::CartDimension::getId ( ) const

Returns the global identifier of the Cartesian grid topology dimension definition.

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

◆ getName()

const String& pearl::CartDimension::getName ( ) const

Returns the string definition storing the dimension name. If this information is not available, String::UNDEFINED is returned.

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

◆ getSize()

uint32_t pearl::CartDimension::getSize ( ) const

Returns the size of the Cartesian grid topology dimension.

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

◆ isPeriodic()

bool pearl::CartDimension::isPeriodic ( ) const

Returns whether the Cartesian grid topology dimension is periodic or not.

Returns
true if the dimension is periodic, false otherwise
        \n@par Exception safety\n        <b class="paramname">No-throw guarantee:</b>         never throws exceptions.        <br>\n

Friends And Related Function Documentation

◆ operator<<()

std::ostream & operator<< ( std::ostream &  stream,
const CartDimension item 
)
related

Prints the contents of the given Cartesian grid topology dimension definition object item to an output stream in a human-readable form.

Parameters
streamOutput stream
itemCartesian grid topology dimension definition object
Returns
Output stream

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