# Extent Class Reference

An extent is a subspace in a routing space. More...

`#include <Extent.hh>`

List of all members.

## Public Member Functions
| Extent (size_t)
| Extent constructor.
ULong | getRangeLowerBound (DimensionHandle) const throw (ArrayIndexOutOfBounds)
| Get range lower bound.
ULong | getRangeUpperBound (DimensionHandle) const throw (ArrayIndexOutOfBounds)
| Get range upper bound.
void | setRangeUpperBound (DimensionHandle, ULong) throw (ArrayIndexOutOfBounds)
| Set range upper bound.
void | setRangeLowerBound (DimensionHandle, ULong) throw (ArrayIndexOutOfBounds)
| Set range lower bound.
bool | overlaps (const Extent &) const
| Check whether both extents overlap.
size_t | size () const
| Get the number of ranges in this Extent.
## Private Attributes
RangeSet | ranges

## Detailed Description

An extent is a subspace in a routing space.

It is made of ranges in each dimension of the routing space. Routing regions are described using a set of extents.

See also:
  RoutingSpace, Dimension, RegionImp

Definition at line 47 of file Extent.hh.

## Constructor & Destructor Documentation

Extent | ( | size_t | n | ) |

Extent constructor.

Parameters:

  | n | Number of dimensions in the routing space

Definition at line 44 of file Extent.cc.

References Dimension::getLowerBound(), Dimension::getUpperBound(), and Extent::ranges.

Here is the call graph for this function:

## Member Function Documentation

ULong getRangeLowerBound | ( | DimensionHandle | handle | ) | const throw (ArrayIndexOutOfBounds)

Get range lower bound.

Definition at line 54 of file Extent.cc.

Referenced by Extent::overlaps(), BasicMessage::serialize(), and BasicMessage::writeExtents().

ULong getRangeUpperBound | ( | DimensionHandle | handle | ) | const throw (ArrayIndexOutOfBounds)

Get range upper bound.

Definition at line 67 of file Extent.cc.

Referenced by Extent::overlaps(), BasicMessage::serialize(), and BasicMessage::writeExtents().

void setRangeUpperBound | ( | DimensionHandle | handle,
|  | ULong | val |
| ) |  |  | throw (ArrayIndexOutOfBounds)

Set range upper bound.

Definition at line 93 of file Extent.cc.

Referenced by RoutingSpace::createExtent(), BasicMessage::deserialize(), and BasicMessage::readExtents().

void setRangeLowerBound | ( | DimensionHandle | handle,
|  | ULong | val |
| ) |  |  | throw (ArrayIndexOutOfBounds)

Set range lower bound.

Definition at line 80 of file Extent.cc.

Referenced by RoutingSpace::createExtent(), BasicMessage::deserialize(), and BasicMessage::readExtents().

bool overlaps | ( | const Extent & | e | ) | const

Check whether both extents overlap.

Definition at line 115 of file Extent.cc.

References certi::D, Extent::getRangeLowerBound(), Extent::getRangeUpperBound(), pdTrace, and Extent::size().

Here is the call graph for this function:

size_t size | ( |  | ) | const

Get the number of ranges in this Extent.

Definition at line 106 of file Extent.cc.

References Extent::ranges.

Referenced by Extent::overlaps().

## Member Data Documentation

RangeSet ranges`[private]`

Definition at line 68 of file Extent.hh.

Referenced by Extent::Extent(), and Extent::size().

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

- Extent.hh
- Extent.cc