|
Celeritas 0.7+dc56207d6
|
Proxy container for iterating over a range of integral values. More...
#include <Range.hh>
Public Member Functions | |
| constexpr value_type | operator[] (size_type i) const |
| Array-like access. | |
| constexpr size_type | size () const |
| Number of elements. | |
| constexpr bool | empty () const |
| Whether the range has no elements. | |
| constexpr value_type | front () const |
| First item in the range. | |
| constexpr value_type | back () const |
| Last item in the range. | |
| template<class U , std::enable_if_t< std::is_signed< U >::value, bool > = true> | |
| constexpr detail::StepRange< step_type< U > > | step (U step) |
| Return a stepped range using a signed integer type. | |
Friends | |
| constexpr friend Range | ldg (Range const *r) noexcept |
| Allow loading via ldg. | |
Type aliases | |
| using | const_iterator = detail::range_iter< T > |
| Empty constructor for empty range. | |
| using | size_type = typename TraitsT::counter_type |
| Empty constructor for empty range. | |
| using | value_type = T |
| Empty constructor for empty range. | |
| template<class U > | |
| using | step_type = typename TraitsT::template common_type< U > |
| Empty constructor for empty range. | |
| constexpr | Range ()=default |
| Empty constructor for empty range. | |
| constexpr | Range (T end) |
| Construct from stop. | |
| constexpr | Range (T begin, T end) |
| Construct from start/stop. | |
| constexpr const_iterator const & | begin () const & |
| constexpr const_iterator const & | end () const & |
| Empty constructor for empty range. | |
| constexpr const_iterator | begin () const && |
| Empty constructor for empty range. | |
| constexpr const_iterator | end () const && |
| Empty constructor for empty range. | |
| constexpr const_iterator | cbegin () const |
| Empty constructor for empty range. | |
| constexpr const_iterator | cend () const |
| Empty constructor for empty range. | |
Proxy container for iterating over a range of integral values.
Here, T can be any of:
It is OK to dereference the end iterator! The result should just be the off-the-end value for the range, e.g. FooEnum::size_ or bar.size().
|
inlineconstexpr |
Iterators