Open Model Railroad Network (OpenMRN)
Loading...
Searching...
No Matches
openlcb::TreeEventHandlers::Iterator Class Reference

Class representing the iteration state on the binary tree-based event handler registry. More...

Inheritance diagram for openlcb::TreeEventHandlers::Iterator:
openlcb::EventIterator

Public Member Functions

 Iterator (TreeEventHandlers *parent)
 
EventRegistryEntrynext_entry () OVERRIDE
 Steps the iteration.
 
void clear_iteration () OVERRIDE
 Stops iteration and resets iteration variables.
 
void init_iteration (EventReport *r) OVERRIDE
 Starts the iteration.
 

Private Member Functions

void setup_current_mask ()
 

Private Attributes

TreeEventHandlersparent_
 
EventReportcurrentReport_
 
MaskLookupMap::iterator maskIterator_
 
OneMaskMap::iterator it_
 
OneMaskMap::iterator end_
 

Additional Inherited Members

- Protected Member Functions inherited from openlcb::EventIterator
 EventIterator ()
 Creates an EventIterator.
 

Detailed Description

Class representing the iteration state on the binary tree-based event handler registry.

Definition at line 82 of file EventHandlerContainer.cxx.

Constructor & Destructor Documentation

◆ Iterator()

openlcb::TreeEventHandlers::Iterator::Iterator ( TreeEventHandlers parent)
inline

Definition at line 85 of file EventHandlerContainer.cxx.

Member Function Documentation

◆ clear_iteration()

void openlcb::TreeEventHandlers::Iterator::clear_iteration ( )
inlinevirtual

Stops iteration and resets iteration variables.

Implements openlcb::EventIterator.

Definition at line 117 of file EventHandlerContainer.cxx.

◆ init_iteration()

void openlcb::TreeEventHandlers::Iterator::init_iteration ( EventReport event)
inlinevirtual

Starts the iteration.

If the iteration is not done yet, call clear_iteration first.

Parameters
eventis the event report to reset the iteration for.

Implements openlcb::EventIterator.

Definition at line 122 of file EventHandlerContainer.cxx.

◆ next_entry()

EventRegistryEntry * openlcb::TreeEventHandlers::Iterator::next_entry ( )
inlinevirtual

Steps the iteration.

Returns
the next entry or NULL if the iteration is done. May be called many times after the iteratin is ended and should consistently return NULL.

Implements openlcb::EventIterator.

Definition at line 93 of file EventHandlerContainer.cxx.

◆ setup_current_mask()

void openlcb::TreeEventHandlers::Iterator::setup_current_mask ( )
inlineprivate

Definition at line 131 of file EventHandlerContainer.cxx.

Member Data Documentation

◆ currentReport_

EventReport* openlcb::TreeEventHandlers::Iterator::currentReport_
private

Definition at line 148 of file EventHandlerContainer.cxx.

◆ end_

OneMaskMap::iterator openlcb::TreeEventHandlers::Iterator::end_
private

Definition at line 151 of file EventHandlerContainer.cxx.

◆ it_

OneMaskMap::iterator openlcb::TreeEventHandlers::Iterator::it_
private

Definition at line 150 of file EventHandlerContainer.cxx.

◆ maskIterator_

MaskLookupMap::iterator openlcb::TreeEventHandlers::Iterator::maskIterator_
private

Definition at line 149 of file EventHandlerContainer.cxx.

◆ parent_

TreeEventHandlers* openlcb::TreeEventHandlers::Iterator::parent_
private

Definition at line 147 of file EventHandlerContainer.cxx.


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