Hello *!
I defined a custom bidi-iterator and assumed it was
going to support std::advance(iterator, Difference n),
where n can be negative for random access and
bidirectional iterators.
The definition of my iterator's facade base looks like:
struct my_iter
: boost::iterator_facade
< my_iter
, const byte
, boost::bidirectional_traversal_tag
, const byte
>
{
// some impl stuff follows...
};
My tests show that calling:
advance(instance_of_my_iter, N) works fine (increment
implementation is called)
advance(instance_of_my_iter, -N) does not work, because
increment (instead of decrement) is called as well