RangePack::Range1D Class Reference

#include <Thyra_Range1D.hpp>

List of all members.

Public Types

typedef RTOpPack::Index Index
 
enum  EInvalidRange
  More...

Public Member Functions

 Range1D ()
 Range1D (EInvalidRange)
 Range1D (Index lbound, Index ubound)
 Constructs a range that represents the range [lbound, ubound].
bool full_range () const
 Returns true if the range represents the entire region (constructed from Range1D()).
Index lbound () const
 Return lower bound of the range.
Index ubound () const
 Return upper bound of the range.
Index size () const
 Return the size of the range (ubound() - lbound() + 1).
bool in_range (Index i) const
 Return true if the index is in range.
Range1Doperator+= (Index incr)
 Increment the range by a constant.
Range1Doperator-= (Index incr)
 Deincrement the range by a constant.

Static Public Attributes

const Range1D Invalid
 Range1D(INVALID).


Detailed Description

Subregion Index Range Class.

The class Range1D abstracts a 1-D, 1-based, range of indexes. It is used to index into vectors and matrices and return subregions of them respectively.

Constructing using Range1D() yields a range that represents the entire dimension of an object [1, max_ubound] (an entire vector, all the rows in a matrix, or all the columns in a matrix etc.).

Constructing using Range1D(INVALID) yields an invalid range [1,0] with size() == 0. In fact the condition size() == 0 is the determining flag that a range is not valid. Once constructed with Range1D(INVALID), a Range1D object can pass through many other operations that may change lbound() and ubound() but will never change size() == 0.

Constructing using Range1D(lbound,ubound) yields a finite dimensional range. The validity of constructed range will only be checked if _DEBUG is defined.

There are many non-member functions that can be used with Range1D objects.

The default copy constructor and assignment operator functions are allowed since they have the correct semantics.

Definition at line 68 of file Thyra_Range1D.hpp.


Member Typedef Documentation

typedef RTOpPack::Index RangePack::Range1D::Index
 

Definition at line 71 of file Thyra_Range1D.hpp.


Member Enumeration Documentation

enum RangePack::Range1D::EInvalidRange
 

Definition at line 73 of file Thyra_Range1D.hpp.


Constructor & Destructor Documentation

RangePack::Range1D::Range1D  )  [inline]
 

Constructs a range representing the entire range.

Postconditions:

Definition at line 218 of file Thyra_Range1D.hpp.

RangePack::Range1D::Range1D EInvalidRange   )  [inline]
 

Constructs an invalid (zero) range.

Postconditions:

Definition at line 223 of file Thyra_Range1D.hpp.

RangePack::Range1D::Range1D Index  lbound,
Index  ubound
[inline]
 

Constructs a range that represents the range [lbound, ubound].

Preconditions:

  • lbound >= 1 (throw range_error)
  • lbound <= ubound (throw range_error)

Postconditions:

Definition at line 229 of file Thyra_Range1D.hpp.


Member Function Documentation

bool RangePack::Range1D::full_range  )  const [inline]
 

Returns true if the range represents the entire region (constructed from Range1D()).

Definition at line 236 of file Thyra_Range1D.hpp.

Range1D::Index RangePack::Range1D::lbound  )  const [inline]
 

Return lower bound of the range.

Definition at line 241 of file Thyra_Range1D.hpp.

Range1D::Index RangePack::Range1D::ubound  )  const [inline]
 

Return upper bound of the range.

Definition at line 246 of file Thyra_Range1D.hpp.

Range1D::Index RangePack::Range1D::size  )  const [inline]
 

Return the size of the range (ubound() - lbound() + 1).

Definition at line 251 of file Thyra_Range1D.hpp.

bool RangePack::Range1D::in_range Index  i  )  const [inline]
 

Return true if the index is in range.

Definition at line 256 of file Thyra_Range1D.hpp.

Range1D & RangePack::Range1D::operator+= Index  incr  )  [inline]
 

Increment the range by a constant.

Definition at line 261 of file Thyra_Range1D.hpp.

Range1D & RangePack::Range1D::operator-= Index  incr  )  [inline]
 

Deincrement the range by a constant.

Definition at line 269 of file Thyra_Range1D.hpp.


Member Data Documentation

const Range1D RangePack::Range1D::Invalid [static]
 

Range1D(INVALID).


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:39:42 2008 for Thyra Miscellaneous Utilities by doxygen 1.3.9.1