MySQL 8.3.0
Source Code Documentation
Query_terms< visit_order, visit_leaves >::Query_term_iterator Class Reference

The iterator class itself is private. More...

Public Member Functions

 Query_term_iterator (Query_term *root)
 Construct an iterator over the query term tree rooted in root, optionally skipping the leaves. More...
 
 Query_term_iterator ()=default
 
Query_term_iteratoroperator++ ()
 
Query_termoperator* ()
 
bool operator== (const Query_term_iterator &other) const
 
bool operator!= (const Query_term_iterator &other) const
 

Public Attributes

Query_termm_current {nullptr}
 Iterator state consists of this and Query_term::m_curr_id. More...
 

Detailed Description

template<Visit_order visit_order, Visit_leaves visit_leaves>
class Query_terms< visit_order, visit_leaves >::Query_term_iterator

The iterator class itself is private.

Only used directly by begin and end

Constructor & Destructor Documentation

◆ Query_term_iterator() [1/2]

template<Visit_order visit_order, Visit_leaves visit_leaves>
Query_terms< visit_order, visit_leaves >::Query_term_iterator::Query_term_iterator ( Query_term root)
inline

Construct an iterator over the query term tree rooted in root, optionally skipping the leaves.

Skipping is useful for those cases where the leaves are visited separately[1] and we only want to visit the set operation nodes in the tree. [1] By walking the Query_expression::first_query_block and Query_block::next_query_block chain

Parameters
rootthe node to start iteration from

◆ Query_term_iterator() [2/2]

template<Visit_order visit_order, Visit_leaves visit_leaves>
Query_terms< visit_order, visit_leaves >::Query_term_iterator::Query_term_iterator ( )
default

Member Function Documentation

◆ operator!=()

template<Visit_order visit_order, Visit_leaves visit_leaves>
bool Query_terms< visit_order, visit_leaves >::Query_term_iterator::operator!= ( const Query_term_iterator other) const
inline

◆ operator*()

template<Visit_order visit_order, Visit_leaves visit_leaves>
Query_term * Query_terms< visit_order, visit_leaves >::Query_term_iterator::operator* ( )
inline

◆ operator++()

template<Visit_order visit_order, Visit_leaves visit_leaves>
Query_term_iterator & Query_terms< visit_order, visit_leaves >::Query_term_iterator::operator++ ( )
inline

◆ operator==()

template<Visit_order visit_order, Visit_leaves visit_leaves>
bool Query_terms< visit_order, visit_leaves >::Query_term_iterator::operator== ( const Query_term_iterator other) const
inline

Member Data Documentation

◆ m_current

template<Visit_order visit_order, Visit_leaves visit_leaves>
Query_term* Query_terms< visit_order, visit_leaves >::Query_term_iterator::m_current {nullptr}

Iterator state consists of this and Query_term::m_curr_id.


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