id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 5403,filesystem3::recursive_directory_iterator::increment(system::error_code& ec) unexpected behaviour,ttan@…,Beman Dawes,"please see this link [http://boost.2283326.n4.nabble.com/How-to-skip-a-sub-directory-with-filesystem3-recursive-directory-iterator-in-case-of-exception-td3417953.html] for details. ideally, something like below should be working for either throwing(ec.m_val !=0) or no-throwing(ec.m_val ==0 ) case. {{{ boost::system::error_code ec; for (recursive_directory_iterator itr(root, ec), itr_end; itr!=itr_end; ) { ... ; itr.increment(ec); if(ec) itr.pop(); } }}} Additionally, the intuitive expectation is that: recursive_directory_iterator::increment(ec) is a drop-in replacement and behaves like recursive_directory_iterator::increment() or recursive_directory_iterator::operator++() in case of no throw(ec.m_val == 0). To be more specifically, in such a case, the above code is expected to be effectively the same as: for (recursive_directory_iterator itr(root), itr_end; itr!=itr_end; ) { ... ; itr.increment(); // or itr++; } and for (recursive_directory_iterator itr(root), itr_end; itr!=itr_end; itr++) { ... ; } the current implementation does not allow it. ",Bugs,closed,To Be Determined,filesystem,Boost Development Trunk,Showstopper,fixed,recursive_directory_iterator increment,