id summary reporter owner description type status milestone component version severity resolution keywords cc 1692 'iterator::m_it' declared public ONLY in test/debug-build, but always accessed from 'cicular_buffer::erase()' Tobi.Winkler@… Jan Gaspar "In the current version of boost::circular_buffer, there is a small bug where ''iterator::m_it'' is declared ''private'' if not in test-mode (explains why this didn't get caught) but accessed from ''circular_buffer::erase(iterator, iterator)'' even in non-debug/non-test mode. This just causes a compiler error. (I think just adding template friend class circular_buffer; should be enough. ) ---- {{{ /boost/boost/circular_buffer/details.hpp (r1.4) class iterator 222 #if !defined(BOOST_CB_TEST) && !BOOST_CB_ENABLE_DEBUG 223 private: 224 #endif 225 // Member variables 226 227 //! The circular buffer where the iterator points to. 228 const Buff* m_buff; 229 230 //! An internal iterator. 231 pointer m_it; }}} --- {{{ /boost/boost/circular_buffer/base.hpp (r1.8) circular_buffer::erase(iterator, iterator) 1717 pointer next = pos.m_it; }}} " Bugs closed To Be Determined circular_buffer Boost Development Trunk Showstopper fixed