Logo ROOT   6.14/05
Reference Guide
List of all members | Public Member Functions | Static Protected Attributes | Private Attributes | List of all members
ROOT::Experimental::Internal::TIndexIter< 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::TIndexIter< 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 TIndexIter.hxx.

Public Member Functions

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

++i

TIndexIteroperator++ () noexcept
 
TIndexIteroperator-- () noexcept
 –i More...
 
TIndexIter operator++ (int) noexcept
 i++ More...
 
TIndexIter operator-- (int) noexcept
 
TIndexIteroperator+= (int d) noexcept
 
TIndexIteroperator-= (int d) noexcept
 
TIndexIter operator+ (int d) noexcept
 
TIndexIter operator- (int d) noexcept
 

Static Protected Attributes

static constexpr size_t fgEndIndex = (size_t)-1
 

Private Attributes

size_t fIndex
 

#include <ROOT/TIndexIter.hxx>

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

Constructor & Destructor Documentation

◆ TIndexIter()

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

Definition at line 42 of file TIndexIter.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::TIndexIter< REFERENCE, POINTER >::GetIndex ( ) const
inlinenoexcept

Get the current index value.

Definition at line 45 of file TIndexIter.hxx.

◆ operator+()

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

Definition at line 96 of file TIndexIter.hxx.

◆ operator++() [1/2]

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

Definition at line 50 of file TIndexIter.hxx.

◆ operator++() [2/2]

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

i++

Definition at line 65 of file TIndexIter.hxx.

◆ operator+=()

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

Definition at line 80 of file TIndexIter.hxx.

◆ operator-()

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

Definition at line 103 of file TIndexIter.hxx.

◆ operator--() [1/2]

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

–i

Definition at line 57 of file TIndexIter.hxx.

◆ operator--() [2/2]

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

Definition at line 73 of file TIndexIter.hxx.

◆ operator-=()

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

Definition at line 86 of file TIndexIter.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::TIndexIter< REFERENCE, POINTER >::fgEndIndex = (size_t)-1
staticprotected

Definition at line 39 of file TIndexIter.hxx.

◆ fIndex

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

Definition at line 36 of file TIndexIter.hxx.

Libraries for ROOT::Experimental::Internal::TIndexIter< REFERENCE, POINTER >:
[legend]

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