Modules | Alphabetical List | Class List | Directories | File List | GIL Home Page

# IteratorAdaptorConcept Struct Template Reference
[IteratorAdaptorConcept]

`#include <gil_concept.hpp>`

List of all members.

## Detailed Description

### template<typename Iterator>
struct boost::gil::IteratorAdaptorConcept< Iterator >

Iterator adaptor is a forward iterator adapting another forward iterator.

In addition to GIL iterator requirements, GIL iterator adaptors must provide the following metafunctions:

- `is_iterator_adaptor<Iterator>`: Returns `mpl::true_`
- `iterator_adaptor_get_base<Iterator>`: Returns the base iterator type
- `iterator_adaptor_rebind<Iterator,NewBase>`: Replaces the base iterator with the new one

The adaptee can be obtained from the iterator via the "base()" method.

    concept IteratorAdaptorConcept<boost_concepts::ForwardTraversalConcept Iterator> {
        where SameType<is_iterator_adaptor<Iterator>::type, mpl::true_>;

        typename iterator_adaptor_get_base<Iterator>;
            where Metafunction<iterator_adaptor_get_base<Iterator> >;
            where boost_concepts::ForwardTraversalConcept<iterator_adaptor_get_base<Iterator>::type>;

        typename another_iterator;
        typename iterator_adaptor_rebind<Iterator,another_iterator>::type;
            where boost_concepts::ForwardTraversalConcept<another_iterator>;
            where IteratorAdaptorConcept<iterator_adaptor_rebind<Iterator,another_iterator>::type>;

        const iterator_adaptor_get_base<Iterator>::type& Iterator::base() const;
    };

## Public Member Functions

void | constraints ()

## Public Attributes

Iterator | it

The documentation for this struct was generated from the following file:

- gil_concept.hpp