MySQL  8.0.16
Source Code Documentation
Gtid_set::Interval_iterator Class Reference

Iterator over intervals of a non-const Gtid_set, with additional methods to modify the Gtid_set. More...

#include <rpl_gtid.h>

Inheritance diagram for Gtid_set::Interval_iterator:
Gtid_set::Interval_iterator_base< Gtid_set *, Interval *>

Public Member Functions

 Interval_iterator (Gtid_set *gtid_set, rpl_sidno sidno)
 Create this Interval_iterator. More...
 
 Interval_iterator (Gtid_set *gtid_set)
 Destroy this Interval_iterator. More...
 
- Public Member Functions inherited from Gtid_set::Interval_iterator_base< Gtid_set *, Interval *>
 Interval_iterator_base (Gtid_set * gtid_set, rpl_sidno sidno)
 Construct a new iterator over the GNO intervals for a given Gtid_set. More...
 
 Interval_iterator_base (Gtid_set * gtid_set)
 Construct a new iterator over the free intervals of a Gtid_set. More...
 
void init (Gtid_set * gtid_set, rpl_sidno sidno)
 Reset this iterator. More...
 
void next ()
 Advance current_elem one step. More...
 
Intervalget () const
 Return current_elem. More...
 

Private Member Functions

void set (Interval *iv)
 Set current_elem to the given Interval but do not touch the next pointer of the given Interval. More...
 
void insert (Interval *iv)
 Insert the given element before current_elem. More...
 
void remove (Gtid_set *gtid_set)
 Remove current_elem. More...
 

Friends

class Gtid_set
 Only Gtid_set is allowed to use set/insert/remove. More...
 

Additional Inherited Members

- Protected Attributes inherited from Gtid_set::Interval_iterator_base< Gtid_set *, Interval *>
Interval * * p
 Holds the address of the 'next' pointer of the previous element, or the address of the initial pointer into the list, if the current element is the first element. More...
 

Detailed Description

Iterator over intervals of a non-const Gtid_set, with additional methods to modify the Gtid_set.

Constructor & Destructor Documentation

◆ Interval_iterator() [1/2]

Gtid_set::Interval_iterator::Interval_iterator ( Gtid_set gtid_set,
rpl_sidno  sidno 
)
inline

Create this Interval_iterator.

◆ Interval_iterator() [2/2]

Gtid_set::Interval_iterator::Interval_iterator ( Gtid_set gtid_set)
inline

Destroy this Interval_iterator.

Member Function Documentation

◆ insert()

void Gtid_set::Interval_iterator::insert ( Interval iv)
inlineprivate

Insert the given element before current_elem.

◆ remove()

void Gtid_set::Interval_iterator::remove ( Gtid_set gtid_set)
inlineprivate

Remove current_elem.

◆ set()

void Gtid_set::Interval_iterator::set ( Interval iv)
inlineprivate

Set current_elem to the given Interval but do not touch the next pointer of the given Interval.

Friends And Related Function Documentation

◆ Gtid_set

friend class Gtid_set
friend

Only Gtid_set is allowed to use set/insert/remove.

They are not safe to use from other code because: (1) very easy to make a mistakes (2) they don't clear cached_string_format or cached_string_length.


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