Celeritas 0.7+dc56207d6
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
celeritas::Range< T > Class Template Reference

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 constbegin () const &
 
constexpr const_iterator constend () 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.
 

Detailed Description

template<class T>
class celeritas::Range< T >

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().

Member Function Documentation

◆ begin()

template<class T >
constexpr const_iterator const & celeritas::Range< T >::begin ( ) const &
inlineconstexpr

Iterators


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