boost::gil::IteratorAdaptorConcept
Iterator adaptor is a forward iterator adapting another forward iterator.
Description
In addition to GIL iterator requirements, GIL iterator adaptors must provide the following metafunctions:
-
is_iterator_adaptor<Iterator>Returnsstd::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;
};