id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 8101,coroutine's iterator doesn't have postfix ++ operator,Nathan Ridge,olli,"The following code fails to compile: {{{ #include #include #include #include typedef boost::coroutines::coroutine coro_t; void foo(coro_t::caller_type& caller) { caller(0); caller(1); caller(2); } coro_t f() { return coro_t(&foo); } int main() { boost::copy(f(), std::ostream_iterator(std::cout, ""\n"")); } }}} The reason is that std::copy (which is called by boost::copy) uses the postfix version of the iterator's increment operator, but the coroutine's iterator only provides the prefix version. One way to write an iterator class that satisfies all the iterator interface requirements with minimal work is to use iterator_facade (http://www.boost.org/doc/libs/1_53_0/libs/iterator/doc/iterator_facade.html).",Bugs,closed,To Be Determined,coroutine,Boost Development Trunk,Problem,fixed,,