template class axl::sl::Iterator

#include <axl_sl_Iterator.h>

template <
    typename T,
    typename GetLink = ImplicitPtrCast<T, ListLink>
    >
class Iterator: public axl::sl::IteratorImpl
{
public:
    // construction

    Iterator();

    template <
        typename T2,
        typename GetLink2
        >
    Iterator(const Iterator<T2, GetLink2>& src);

    Iterator(T* p);
};

Inherited Members

public:
    // typedefs

    typedef Entry0 Entry;
    typedef Link0 Link;
    typedef GetLink0 GetLink;

    // methods

    operator const void *() const;

    T&
    operator++();

    T&
    operator--();

    T
    operator++(int);

    T
    operator--(int);

    T&
    operator+=(size_t count);

    T&
    operator-=(size_t count);

    T
    operator+(size_t count) const;

    T
    operator-(size_t count) const;

    T&
    next();

    T&
    prev();

    T&
    inc(intptr_t count);

    T
    getNext() const;

    T
    getPrev() const;

    T
    getInc(intptr_t count) const;

    Entry*
    getEntry() const;

    Link*
    getLink() const;

    static
    Entry*
    getEntryFromLink(Link* p);

    static
    Link*
    getLinkFromEntry(Entry* p);

    static
    T
    fromLink(Link* p);

    Entry*
    operator*() const;

    Entry*
    operator->() const;

    T&
    operator=(Entry* p);

    bool
    operator==(Entry* p) const;

    bool
    operator!=(Entry* p) const;

    Entry*
    p() const;