Logo ROOT   master
Reference Guide
ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER > Class Template Reference

template<class REFERENCE, class POINTER = typename std::add_pointer<typename std::remove_reference<REFERENCE>::type>::type>
class ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >


Iterates over an index; the REFERENCE is defined by the REFERENCE template parameter.

Derived classes are expected to implement const REFERENCE& operator*() and const POINTER operator->().

Definition at line 35 of file RIndexIter.hxx.

Public Member Functions

 RIndexIter (size_t idx)
 
size_t GetIndex () const noexcept
 Get the current index value. More...
 
Index modifiers

++i

RIndexIteroperator++ () noexcept
 
RIndexIteroperator-- () noexcept
 –i More...
 
RIndexIter operator++ (int) noexcept
 i++ More...
 
RIndexIter operator-- (int) noexcept
 
RIndexIteroperator+= (int d) noexcept
 
RIndexIteroperator-= (int d) noexcept
 
RIndexIter operator+ (int d) noexcept
 
RIndexIter operator- (int d) noexcept
 

Static Protected Attributes

static constexpr size_t fgEndIndex = (size_t)-1
 

Private Attributes

size_t fIndex
 

#include <ROOT/RIndexIter.hxx>

Inheritance diagram for ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >:
[legend]

Constructor & Destructor Documentation

◆ RIndexIter()

template<class REFERENCE, class POINTER = typename std::add_pointer<typename std::remove_reference<REFERENCE>::type>::type>
ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >::RIndexIter ( size_t  idx)
inline

Definition at line 42 of file RIndexIter.hxx.

Member Function Documentation

◆ GetIndex()

template<class REFERENCE, class POINTER = typename std::add_pointer<typename std::remove_reference<REFERENCE>::type>::type>
size_t ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >::GetIndex ( ) const
inlinenoexcept

Get the current index value.

Definition at line 45 of file RIndexIter.hxx.

◆ operator+()

template<class REFERENCE, class POINTER = typename std::add_pointer<typename std::remove_reference<REFERENCE>::type>::type>
RIndexIter ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >::operator+ ( int  d)
inlinenoexcept

Definition at line 96 of file RIndexIter.hxx.

◆ operator++() [1/2]

template<class REFERENCE, class POINTER = typename std::add_pointer<typename std::remove_reference<REFERENCE>::type>::type>
RIndexIter& ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >::operator++ ( )
inlinenoexcept

Definition at line 50 of file RIndexIter.hxx.

◆ operator++() [2/2]

template<class REFERENCE, class POINTER = typename std::add_pointer<typename std::remove_reference<REFERENCE>::type>::type>
RIndexIter ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >::operator++ ( int  )
inlinenoexcept

i++

Definition at line 65 of file RIndexIter.hxx.

◆ operator+=()

template<class REFERENCE, class POINTER = typename std::add_pointer<typename std::remove_reference<REFERENCE>::type>::type>
RIndexIter& ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >::operator+= ( int  d)
inlinenoexcept

Definition at line 80 of file RIndexIter.hxx.

◆ operator-()

template<class REFERENCE, class POINTER = typename std::add_pointer<typename std::remove_reference<REFERENCE>::type>::type>
RIndexIter ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >::operator- ( int  d)
inlinenoexcept

Definition at line 103 of file RIndexIter.hxx.

◆ operator--() [1/2]

template<class REFERENCE, class POINTER = typename std::add_pointer<typename std::remove_reference<REFERENCE>::type>::type>
RIndexIter& ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >::operator-- ( )
inlinenoexcept

–i

Definition at line 57 of file RIndexIter.hxx.

◆ operator--() [2/2]

template<class REFERENCE, class POINTER = typename std::add_pointer<typename std::remove_reference<REFERENCE>::type>::type>
RIndexIter ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >::operator-- ( int  )
inlinenoexcept

Definition at line 73 of file RIndexIter.hxx.

◆ operator-=()

template<class REFERENCE, class POINTER = typename std::add_pointer<typename std::remove_reference<REFERENCE>::type>::type>
RIndexIter& ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >::operator-= ( int  d)
inlinenoexcept

Definition at line 86 of file RIndexIter.hxx.

Member Data Documentation

◆ fgEndIndex

template<class REFERENCE, class POINTER = typename std::add_pointer<typename std::remove_reference<REFERENCE>::type>::type>
constexpr size_t ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >::fgEndIndex = (size_t)-1
staticprotected

Definition at line 39 of file RIndexIter.hxx.

◆ fIndex

template<class REFERENCE, class POINTER = typename std::add_pointer<typename std::remove_reference<REFERENCE>::type>::type>
size_t ROOT::Experimental::Internal::RIndexIter< REFERENCE, POINTER >::fIndex
private

Definition at line 36 of file RIndexIter.hxx.


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