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

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

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

Definition at line 543 of file RField.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/RField.hxx>

Member Typedef Documentation

◆ difference_type

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

Definition at line 557 of file RField.hxx.

◆ iterator

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

Definition at line 555 of file RField.hxx.

◆ iterator_category

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

Definition at line 556 of file RField.hxx.

◆ pointer

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

Definition at line 559 of file RField.hxx.

◆ reference

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

Definition at line 560 of file RField.hxx.

◆ value_type

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

Definition at line 558 of file RField.hxx.

Constructor & Destructor Documentation

◆ RSchemaIteratorTemplate() [1/2]

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

Definition at line 562 of file RField.hxx.

◆ RSchemaIteratorTemplate() [2/2]

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

Definition at line 563 of file RField.hxx.

◆ ~RSchemaIteratorTemplate()

Definition at line 564 of file RField.hxx.

Member Function Documentation

◆ Advance()

template<bool IsConstT>
void ROOT::Experimental::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 567 of file RField.hxx.

◆ operator!=()

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

Definition at line 594 of file RField.hxx.

◆ operator*()

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

Definition at line 591 of file RField.hxx.

◆ operator++() [1/2]

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

Definition at line 590 of file RField.hxx.

◆ operator++() [2/2]

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

Definition at line 589 of file RField.hxx.

◆ operator->()

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

Definition at line 592 of file RField.hxx.

◆ operator==()

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

Definition at line 593 of file RField.hxx.

Member Data Documentation

◆ fStack

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

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

Definition at line 553 of file RField.hxx.

  • tree/ntuple/v7/inc/ROOT/RField.hxx