#include <RangePack_Range1D.hpp>
Public Types | |
| typedef RTOpPack::Index | Index |
| | |
| enum | EInvalidRange |
| More... | |
Public Member Functions | |
| Range1D () | |
| Constructs a range representing the entire range. . | |
| Range1D (EInvalidRange) | |
| Constructs an invalid (zero) range. | |
| 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. | |
| Range1D & | operator+= (Index incr) |
| Increment the range by a constant. | |
| Range1D & | operator-= (Index incr) |
| Deincrement the range by a constant. | |
Static Public Attributes | |
| const Range1D | Invalid |
| Range1D(INVALID). | |
Related Functions | |
| (Note that these are not member functions.) | |
| Range1D | convert (const Teuchos::Range1D &rng) |
| Convert from a 0-based Teuchos::Range1D object to a 1-based RangePack::Range1D object. | |
| Teuchos::Range1D | convert (const Range1D &rng) |
| Convert from a 1-based RangePack::Range1D object to a 0-based Teuchos::Range1D object. | |
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 TEUCHOS_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 63 of file RangePack_Range1D.hpp.
|
|
Definition at line 66 of file RangePack_Range1D.hpp. |
|
|
Definition at line 68 of file RangePack_Range1D.hpp. |
|
|
Constructs a range representing the entire range. .
Definition at line 230 of file RangePack_Range1D.hpp. |
|
|
Constructs an invalid (zero) range. Postconditions:
Definition at line 235 of file RangePack_Range1D.hpp. |
|
||||||||||||
|
Constructs a range that represents the range Preconditions:
Postconditions:
Definition at line 241 of file RangePack_Range1D.hpp. |
|
|
Returns
Definition at line 248 of file RangePack_Range1D.hpp. |
|
|
Return lower bound of the range.
Definition at line 253 of file RangePack_Range1D.hpp. |
|
|
Return upper bound of the range.
Definition at line 258 of file RangePack_Range1D.hpp. |
|
|
Return the size of the range (
Definition at line 263 of file RangePack_Range1D.hpp. |
|
|
Return true if the index is in range.
Definition at line 268 of file RangePack_Range1D.hpp. |
|
|
Increment the range by a constant.
Definition at line 273 of file RangePack_Range1D.hpp. |
|
|
Deincrement the range by a constant.
Definition at line 281 of file RangePack_Range1D.hpp. |
|
|
Convert from a 0-based Teuchos::Range1D object to a 1-based RangePack::Range1D object.
Definition at line 212 of file RangePack_Range1D.hpp. |
|
|
Convert from a 1-based RangePack::Range1D object to a 0-based Teuchos::Range1D object.
Definition at line 219 of file RangePack_Range1D.hpp. |
|
|
Range1D(INVALID).
|
1.3.9.1