## NAME

ACE_Message_Queue_Iterator - Iterator for the `ACE_Message_Queue`.

## SYNOPSIS

    #include <ace/Message_Queue_T.h>

    template<ACE_SYNCH_DECL>
    class ACE_Message_Queue_Iterator
    {
      public:
        ACE_Message_Queue_Iterator (
            ACE_Message_Queue <ACE_SYNCH_USE> &queue
            );
        int next (ACE_Message_Block *&entry);
        int done (void) const;
        int advance (void);
        void dump (void) const;
        ACE_ALLOC_HOOK_DECLARE;
      private:
        ACE_Message_Queue <ACE_SYNCH_USE> &queue_;
        ACE_Message_Block *curr_;
    };

## Initialization method.

    ACE_Message_Queue_Iterator (ACE_Message_Queue <ACE_SYNCH_USE> &queue);

## Iteration methods.

    int next (ACE_Message_Block *&entry);

Pass back the `entry` that hasn't been seen in the queue. Returns 0 when all items have been seen, else 1.

    int done (void) const;

Returns 1 when all items have been seen, else 0.

    int advance (void);

Move forward by one element in the queue. Returns 0 when all the items in the set have been seen, else 1.

    void dump (void) const;

Dump the state of an object.

    ACE_ALLOC_HOOK_DECLARE;

Declare the dynamic allocation hooks.

## AUTHOR

Doug Schmidt

## LIBRARY

ace