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 141 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 153 of file RField.hxx.

◆ pointer

◆ reference

◆ value_type

Constructor & Destructor Documentation

◆ RSchemaIterator() [1/2]

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

Definition at line 159 of file RField.hxx.

◆ RSchemaIterator() [2/2]

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

Definition at line 160 of file RField.hxx.

◆ ~RSchemaIterator()

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

Definition at line 161 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 456 of file RField.cxx.

◆ operator!=()

Definition at line 171 of file RField.hxx.

◆ operator*()

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

Definition at line 168 of file RField.hxx.

◆ operator++() [1/2]

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

Definition at line 167 of file RField.hxx.

◆ operator++() [2/2]

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

Definition at line 166 of file RField.hxx.

◆ operator->()

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

Definition at line 169 of file RField.hxx.

◆ operator==()

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

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

Libraries for ROOT::Experimental::Detail::RFieldBase::RSchemaIterator:
[legend]

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