16#ifndef ROOT7_RIndexIter
17#define ROOT7_RIndexIter
22namespace Experimental {
33template <
class REFERENCE,
35class RIndexIter:
public std::iterator<std::random_access_iterator_tag, REFERENCE, POINTER> {
114template <
class REFERENCE,
class POINTER>
117 return lhs.GetIndex() < rhs.GetIndex();
120template <
class REFERENCE,
class POINTER>
123 return lhs.GetIndex() > rhs.GetIndex();
126template <
class REFERENCE,
class POINTER>
129 return lhs.GetIndex() <= rhs.GetIndex();
132template <
class REFERENCE,
class POINTER>
135 return lhs.GetIndex() >= rhs.GetIndex();
138template <
class REFERENCE,
class POINTER>
141 return lhs.GetIndex() == rhs.GetIndex();
144template <
class REFERENCE,
class POINTER>
147 return lhs.GetIndex() != rhs.GetIndex();
Iterates over an index; the REFERENCE is defined by the REFERENCE template parameter.
RIndexIter & operator--() noexcept
–i
RIndexIter & operator-=(int d) noexcept
RIndexIter & operator++() noexcept
RIndexIter operator--(int) noexcept
RIndexIter operator+(int d) noexcept
static constexpr size_t fgEndIndex
size_t GetIndex() const noexcept
Get the current index value.
RIndexIter & operator+=(int d) noexcept
RIndexIter operator-(int d) noexcept
RIndexIter operator++(int) noexcept
i++
bool operator<(RIndexIter< REFERENCE, POINTER > lhs, RIndexIter< REFERENCE, POINTER > rhs) noexcept
bool operator<=(RIndexIter< REFERENCE, POINTER > lhs, RIndexIter< REFERENCE, POINTER > rhs) noexcept
bool operator!=(RIndexIter< REFERENCE, POINTER > lhs, RIndexIter< REFERENCE, POINTER > rhs) noexcept
bool operator==(RIndexIter< REFERENCE, POINTER > lhs, RIndexIter< REFERENCE, POINTER > rhs) noexcept
bool operator>(RIndexIter< REFERENCE, POINTER > lhs, RIndexIter< REFERENCE, POINTER > rhs) noexcept
bool operator>=(RIndexIter< REFERENCE, POINTER > lhs, RIndexIter< REFERENCE, POINTER > rhs) noexcept
Namespace for new ROOT classes and functions.