## NAME

ACE_Iterator - Defines the iterator interface.

## SYNOPSIS

    #include <ace/Map_T.h>

    template<class T>
    class ACE_Iterator
    {
      public:
        typedef T value_type;
        typedef ACE_Iterator_Impl<T> implementation;
        ACE_Iterator (ACE_Iterator_Impl<T> *impl);
        ACE_Iterator (const ACE_Iterator<T> &rhs);
        ~ACE_Iterator (void);
        ACE_Iterator<T> &operator= (const ACE_Iterator<T> &rhs);
        int operator== (const ACE_Iterator<T> &rhs) const;
        int operator!= (const ACE_Iterator<T> &rhs) const;
        T operator* () const;
        ACE_Iterator<T> &operator++ (void);
        ACE_Iterator<T> operator++ (int);
        ACE_Iterator<T> &operator-- (void);
        ACE_Iterator<T> operator-- (int);
        ACE_Iterator_Impl<T> &impl (void);
      protected:
        ACE_Iterator_Impl<T> *implementation_;
    };

## DESCRIPTION

Implementation to be provided by forwarding.

## Traits.

    typedef T value_type;

    typedef ACE_Iterator_Impl<T> implementation;

    ACE_Iterator (ACE_Iterator_Impl<T> *impl);

Constructor.

    ACE_Iterator (const ACE_Iterator<T> &rhs);

Copy constructor.

    ~ACE_Iterator (void);

Destructor.

    ACE_Iterator<T> &operator= (const ACE_Iterator<T> &rhs);

Assignment operator.

    int operator== (const ACE_Iterator<T> &rhs) const;

    int operator!= (const ACE_Iterator<T> &rhs) const;

Comparison operators.

    T operator* () const;

Dereference operator.

    ACE_Iterator<T> &operator++ (void);

Prefix advance.

    ACE_Iterator<T> operator++ (int);

Postfix advance.

    ACE_Iterator<T> &operator-- (void);

Prefix reverse.

    ACE_Iterator<T> operator-- (int);

Postfix reverse.

    ACE_Iterator_Impl<T> &impl (void);

Accessor to implementation object.

## AUTHOR

Irfan Pyarali `irfan@cs.wustl.edu`

## LIBRARY

ace