Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT > Class Template Reference

template<bool IsConstT>
class ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >

Iterates over the subtree of fields in depth-first search order.

Definition at line 688 of file RFieldBase.hxx.

Classes

struct  Position

Public Types

using difference_type = std::ptrdiff_t
using iterator = RSchemaIteratorTemplate<IsConstT>
using iterator_category = std::forward_iterator_tag
using pointer = std::conditional_t<IsConstT, const RFieldBase *, RFieldBase *>
using reference = std::conditional_t<IsConstT, const RFieldBase &, RFieldBase &>
using value_type = std::conditional_t<IsConstT, const RFieldBase, RFieldBase>

Public Member Functions

 RSchemaIteratorTemplate ()
 RSchemaIteratorTemplate (pointer val, int idxInParent)
 ~RSchemaIteratorTemplate ()
void Advance ()
 Given that the iterator points to a valid field which is not the end iterator, go to the next field in depth-first search order.
bool operator!= (const iterator &rh) const
reference operator* () const
iteratoroperator++ ()
iterator operator++ (int)
pointer operator-> () const
bool operator== (const iterator &rh) const

Private Attributes

std::vector< PositionfStack
 The stack of nodes visited when walking down the tree of fields.

#include <ROOT/RFieldBase.hxx>

Member Typedef Documentation

◆ difference_type

template<bool IsConstT>
using ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::difference_type = std::ptrdiff_t

Definition at line 703 of file RFieldBase.hxx.

◆ iterator

template<bool IsConstT>
using ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::iterator = RSchemaIteratorTemplate<IsConstT>

Definition at line 701 of file RFieldBase.hxx.

◆ iterator_category

template<bool IsConstT>
using ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::iterator_category = std::forward_iterator_tag

Definition at line 702 of file RFieldBase.hxx.

◆ pointer

template<bool IsConstT>
using ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::pointer = std::conditional_t<IsConstT, const RFieldBase *, RFieldBase *>

Definition at line 705 of file RFieldBase.hxx.

◆ reference

template<bool IsConstT>
using ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::reference = std::conditional_t<IsConstT, const RFieldBase &, RFieldBase &>

Definition at line 706 of file RFieldBase.hxx.

◆ value_type

template<bool IsConstT>
using ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::value_type = std::conditional_t<IsConstT, const RFieldBase, RFieldBase>

Definition at line 704 of file RFieldBase.hxx.

Constructor & Destructor Documentation

◆ RSchemaIteratorTemplate() [1/2]

template<bool IsConstT>
ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::RSchemaIteratorTemplate ( )
inline

Definition at line 708 of file RFieldBase.hxx.

◆ RSchemaIteratorTemplate() [2/2]

template<bool IsConstT>
ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::RSchemaIteratorTemplate ( pointer val,
int idxInParent )
inline

Definition at line 709 of file RFieldBase.hxx.

◆ ~RSchemaIteratorTemplate()

template<bool IsConstT>
ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::~RSchemaIteratorTemplate ( )
inline

Definition at line 710 of file RFieldBase.hxx.

Member Function Documentation

◆ Advance()

template<bool IsConstT>
void ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::Advance ( )
inline

Given that the iterator points to a valid field which is not the end iterator, go to the next field in depth-first search order.

Definition at line 713 of file RFieldBase.hxx.

◆ operator!=()

template<bool IsConstT>
bool ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::operator!= ( const iterator & rh) const
inline

Definition at line 749 of file RFieldBase.hxx.

◆ operator*()

template<bool IsConstT>
reference ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::operator* ( ) const
inline

Definition at line 746 of file RFieldBase.hxx.

◆ operator++() [1/2]

template<bool IsConstT>
iterator & ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::operator++ ( )
inline

Definition at line 741 of file RFieldBase.hxx.

◆ operator++() [2/2]

template<bool IsConstT>
iterator ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::operator++ ( int )
inline

Definition at line 735 of file RFieldBase.hxx.

◆ operator->()

template<bool IsConstT>
pointer ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::operator-> ( ) const
inline

Definition at line 747 of file RFieldBase.hxx.

◆ operator==()

template<bool IsConstT>
bool ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::operator== ( const iterator & rh) const
inline

Definition at line 748 of file RFieldBase.hxx.

Member Data Documentation

◆ fStack

template<bool IsConstT>
std::vector<Position> ROOT::RFieldBase::RSchemaIteratorTemplate< IsConstT >::fStack
private

The stack of nodes visited when walking down the tree of fields.

Definition at line 698 of file RFieldBase.hxx.


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