## NAME

ACE_Cache_Map_Reverse_Iterator - Defines a reverse iterator for the Cache_Map_Manager.

## SYNOPSIS

    #include <ace/Cache_Map_Manager.h>

    template<class KEY, class VALUE, class REVERSE_IMPLEMENTATION, class CACHING_STRATEGY, class ATTRIBUTES>
    class ACE_Cache_Map_Reverse_Iterator
    {
      public:
        typedef ACE_Reference_Pair<KEY, VALUE> value_type;
        typedef ACE_Pair <VALUE, ATTRIBUTES> CACHE_VALUE;
        ACE_Cache_Map_Reverse_Iterator (
            const REVERSE_IMPLEMENTATION &iterator_impl
            );
        ACE_Cache_Map_Reverse_Iterator (
            const ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> &rhs
            );
        ~ACE_Cache_Map_Reverse_Iterator (void);
        (
            const ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> &rhs
            );
        int operator== (
            const ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> &rhs
            ) const;
        int operator!= (
            const ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> &rhs
            ) const;
        ACE_Reference_Pair<KEY, VALUE> operator* (void) const;
        ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> &operator++ (
            void
            );
        ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> operator++ (
            int
            );
        ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> &operator-- (
            void
            );
        ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> operator-- (
            int
            );
        REVERSE_IMPLEMENTATION &iterator_implementation (void);
        void dump (void) const;
        ACE_ALLOC_HOOK_DECLARE;
      protected:
        REVERSE_IMPLEMENTATION reverse_iterator_implementation_;
    };

## DESCRIPTION

Implementation to be provided by the reverse iterator of the map managed by thr Cache_Map_manager.

## Traits.

    typedef ACE_Reference_Pair<KEY, VALUE> value_type;

    typedef ACE_Pair <VALUE, ATTRIBUTES> CACHE_VALUE;

The actual value mapped to the key in the cache. The `attributes` are used by the strategy and is transperant to the cache user.

## Initialisation and termination methods.

    ACE_Cache_Map_Reverse_Iterator (
        const REVERSE_IMPLEMENTATION &iterator_impl
        );

    ACE_Cache_Map_Reverse_Iterator (
        const ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> &rhs
        );

Copy constructor.

    ~ACE_Cache_Map_Reverse_Iterator (void);

## Iteration methods.

        const ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> &rhs
        );

Assignment operator.

    int operator== (
        const ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> &rhs
        ) const;

    int operator!= (
        const ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> &rhs
        ) const;

Comparision operators.

    ACE_Reference_Pair<KEY, VALUE> operator* (void) const;

Returns a reference to the internal element `this` is pointing to.

## STL styled iteration, compare, and reference functions.

    ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> &operator++ (
        void
        );

Prefix advance

    ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> operator++ (
        int
        );

Postfix advance.

    ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> &operator-- (
        void
        );

Prefix reverse.

    ACE_Cache_Map_Reverse_Iterator<KEY, VALUE, REVERSE_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES> operator-- (
        int
        );

Postfix reverse.

    REVERSE_IMPLEMENTATION &iterator_implementation (void);

Returns the iterator of the internal map in the custody of the Cache_Map_Manager.

    void dump (void) const;

Dump the state of an object.

    ACE_ALLOC_HOOK_DECLARE;

Declare the dynamic allocation hooks.

## AUTHOR

Kirthika Parameswaran `kirthika@cs.wustl.edu`

## LIBRARY

ace