diff --git a/include/boost/iterator/iterator_facade.hpp b/include/boost/iterator/iterator_facade.hpp index 64f9057..d08992b 100644 --- a/include/boost/iterator/iterator_facade.hpp +++ b/include/boost/iterator/iterator_facade.hpp @@ -203,6 +203,13 @@ namespace boost *this->stored_iterator = x; return x; } + + // Provides X(r++) + operator Iterator const&() const + { + return stored_iterator; + } + private: mutable value_type stored_value; Iterator stored_iterator; diff --git a/test/iterator_facade.cpp b/test/iterator_facade.cpp index b478b9c..871c196 100755 --- a/test/iterator_facade.cpp +++ b/test/iterator_facade.cpp @@ -64,6 +64,6 @@ int main() state = 3; boost::readable_iterator_test(counter_iterator(&state), 3); boost::writable_iterator_test(counter_iterator(&state), 9, 7); - BOOST_ASSERT(state == 7); + BOOST_ASSERT(state == 8); return 0; }