Crystal Space: csEventTree::SubscriberIterator Class Reference (Crystal Space Public API Reference)

| ## 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 (iEventHandlerRegistry *r, csEventTree *t, csEventID bevent)
| Constructor.
| ~SubscriberIterator ()
| Destructor.
## Friends
class | csEventQueueTest
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 251 of file cssubscription.h.

## Constructor & Destructor Documentation

csEventTree::SubscriberIterator::SubscriberIterator | ( | 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 258 of file cssubscription.h.

References CS_ASSERT, csEventTree::fatRecord, and csList< T >::Iterator.

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 284 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 314 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