## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# csEventTree::SubscriberIterator Class Reference

The SubscriberIterator is a wrapper for the messy internals of figuring out which event handler to call next. More...

`#include <csutil/cssubscription.h>`

List of all members.

## Public Member Functions

bool | HasNext ()
| Test if there is another available handler.
iEventHandler * | Next ()
| Return an available handler and mark it as "done".
| SubscriberIterator (csRef< iEventHandlerRegistry > &r, csEventTree *t, csEventID bevent)
| Constructor.
| ~SubscriberIterator ()
| Destructor.

## Friends

class | csEventTree

## Detailed Description

The SubscriberIterator is a wrapper for the messy internals of figuring out which event handler to call next.

In the common case, this is simply iterating over a pre-existing list (csEventTree::SubscriberQueue). There are degenerative cases where it must fall back on progressively solving the partial order graph (csEventTree::SubscriberGraph).

Only one iterator may exist for a given event node at a time.

Definition at line 254 of file cssubscription.h.

## Constructor & Destructor Documentation

csEventTree::SubscriberIterator::SubscriberIterator | ( | csRef< iEventHandlerRegistry > & | r,
|  | csEventTree * | t,
|  | csEventID | bevent
| ) | `[inline]`

| Constructor. Establishes the csEventTree reference to this iterator to ensure there can be only one. Definition at line 261 of file cssubscription.h. References CS_ASSERT.

csEventTree::SubscriberIterator::~SubscriberIterator | ( |  | ) | `[inline]`

| Destructor. Remove the csEventTree reference to us. Definition at line 275 of file cssubscription.h. References CS_ASSERT.

## Member Function Documentation

bool csEventTree::SubscriberIterator::HasNext | ( |  | ) | `[inline]`

| Test if there is another available handler. Definition at line 283 of file cssubscription.h. References CS_ASSERT, and CS_HANDLER_INVALID.

iEventHandler* csEventTree::SubscriberIterator::Next | ( |  | ) | `[inline]`

| Return an available handler and mark it as "done". Definition at line 313 of file cssubscription.h. References CS_ASSERT, and CS_HANDLER_INVALID.

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

- csutil/cssubscription.h