mtl::irange Class Reference
Class to define a half open index ranges. More...
#include <irange.hpp>
Public Member Functions | |
irange (size_type start, size_type finish) | |
Create an index range of [start, finish) | |
irange (size_type finish) | |
Create an index range of [0, finish) | |
irange () | |
Create an index range of [0, imax), i.e. all indices. | |
irange & | set (size_type start, size_type finish) |
Set the index range to [start, finish) | |
irange & | set (size_type finish) |
Set the index range of [0, finish) | |
irange & | operator-- () |
Decrease finish, i.e. [start, finish) -> [start, finish-1) | |
size_type | start () const |
First index in range. | |
size_type | finish () const |
Past-end index in range. | |
size_type | size () const |
Number of indices. | |
bool | empty () const |
Whether the range is empty. | |
size_type | to_range (size_type i) const |
Maps integers [0, size()) to [start(), finish()) | |
size_type | from_range (size_type i) const |
Maps integers [start(), finish()) to [0, size()) |
Class to define a half open index ranges.
size_type mtl::irange::from_range | ( | size_type | i | ) | const [inline] |
size_type mtl::irange::to_range | ( | size_type | i | ) | const [inline] |
mtl::irange Class Reference -- MTL 4 -- Peter Gottschling and Andrew Lumsdaine
-- Gen. with
rev. 7542
on Sat Aug 11 2012 by doxygen 1.7.6.1 -- © 2010 by SimuNova UG.