id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 10543,circular_buffer::rotate() incorrectly assumes that circular_buffer::pointer is a simple pointer type,Matteo Settenvini ,Jan Gaspar,"Dear maintainer, I am trying to use a boost::circular_buffer inside a shared memory segment, along with Boost.Interprocess. This implies that the type of the stored pointer is an offset_ptr, and not just a T *. In circular_buffer/base.hpp, the rotate method uses a const_cast from the member of a const iterator, assuming that ""pointer"" is indeed a simple pointer type. This however fails when it is instead a structure, such as boost::interprocess::offset_ptr. The patch I am attaching below solves the issue for me, by allowing the right template specialization to kick in. I did not test it with different pointer types as I am a bit short on time, but by reading the code alone, it should work also with plain pointers.",Bugs,new,To Be Determined,circular_buffer,Boost 1.56.0,Problem,,,