# Synopsis

(macro) void *oqm_CycleQueue(long option, OQM_QUEUE *queue)

# Purpose

Cycle an object queue.

# Description

Successive calls to this function will return each object pointer in the queue or NULL when complete. The object pointers will be returned in the order the objects were added (first in first out) but will not be removed from the queue. If the cycle is interrupted before completion, the next invocation will start from the interruption. Any modifications performed on the queue will restart the cycle. Since the cycle termination and error condition both return NULL, the mpm_LastError function should be used to check for an error.

# Input

## option

Options (not used)

## queue

Queue pointer

# Return

Object pointer in the queue or NULL if end or error