boost::gil::IteratorAdaptorConcept

Iterator adaptor is a forward iterator adapting another forward iterator.

Synopsis

template<typename Iterator>
struct IteratorAdaptorConcept;

Description

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

  • is_iterator_adaptor<Iterator> Returns std::true_type

  • 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<ForwardIterator Iterator>
{
    where SameType<is_iterator_adaptor<Iterator>::type, std::true_type>;

    typename iterator_adaptor_get_base<Iterator>;
        where Metafunction<iterator_adaptor_get_base<Iterator> >;
        where ForwardIterator<iterator_adaptor_get_base<Iterator>::type>;

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

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

Member Functions

Data Members

Name

it

Created with MrDocs