Logo ROOT  
Reference Guide
ROOT::Experimental::Detail::RFieldBase::RSchemaIterator Class Reference

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

Definition at line 115 of file RField.hxx.

Classes

struct  Position
 

Public Types

using difference_type = std::ptrdiff_t
 
using iterator = RSchemaIterator
 
using iterator_category = std::forward_iterator_tag
 
using pointer = RFieldBase *
 
using reference = RFieldBase &
 
using value_type = RFieldBase
 

Public Member Functions

 RSchemaIterator ()
 
 RSchemaIterator (pointer val, int idxInParent)
 
 ~RSchemaIterator ()
 
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. More...
 
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. More...
 

#include <ROOT/RField.hxx>

Member Typedef Documentation

◆ difference_type

◆ iterator

◆ iterator_category

Definition at line 127 of file RField.hxx.

◆ pointer

◆ reference

◆ value_type

Constructor & Destructor Documentation

◆ RSchemaIterator() [1/2]

ROOT::Experimental::Detail::RFieldBase::RSchemaIterator::RSchemaIterator ( )
inline

Definition at line 133 of file RField.hxx.

◆ RSchemaIterator() [2/2]

ROOT::Experimental::Detail::RFieldBase::RSchemaIterator::RSchemaIterator ( pointer  val,
int  idxInParent 
)
inline

Definition at line 134 of file RField.hxx.

◆ ~RSchemaIterator()

ROOT::Experimental::Detail::RFieldBase::RSchemaIterator::~RSchemaIterator ( )
inline

Definition at line 135 of file RField.hxx.

Member Function Documentation

◆ Advance()

void ROOT::Experimental::Detail::RFieldBase::RSchemaIterator::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.

Definition at line 284 of file RField.cxx.

◆ operator!=()

Definition at line 145 of file RField.hxx.

◆ operator*()

reference ROOT::Experimental::Detail::RFieldBase::RSchemaIterator::operator* ( ) const
inline

Definition at line 142 of file RField.hxx.

◆ operator++() [1/2]

iterator& ROOT::Experimental::Detail::RFieldBase::RSchemaIterator::operator++ ( )
inline

Definition at line 141 of file RField.hxx.

◆ operator++() [2/2]

iterator ROOT::Experimental::Detail::RFieldBase::RSchemaIterator::operator++ ( int  )
inline

Definition at line 140 of file RField.hxx.

◆ operator->()

pointer ROOT::Experimental::Detail::RFieldBase::RSchemaIterator::operator-> ( ) const
inline

Definition at line 143 of file RField.hxx.

◆ operator==()

bool ROOT::Experimental::Detail::RFieldBase::RSchemaIterator::operator== ( const iterator rh) const
inline

Definition at line 144 of file RField.hxx.

Member Data Documentation

◆ fStack

std::vector<Position> ROOT::Experimental::Detail::RFieldBase::RSchemaIterator::fStack
private

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

Definition at line 124 of file RField.hxx.


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