Hi all! The updated implementation and docs of the circular buffer (formerly called cyclic buffer) can be found at http://groups.yahoo.com/group/boost/files/circular_buffer.zip
To Howard Hinnant: Probably I won't have time for doing the circular_deque but you can achieve the insert method by adapting the circular buffer. template <class T> class Adaptor { private: circular_buffer<T> m_buff; public: typedef typename circular_buffer<T>::iterator iterator; typedef typename circular_buffer<T>::size_type size_type; Adaptor(size_type capacity) : m_buff(capacity) {} template <class InputIterator> Adaptor(size_type capacity, InputIterator first, InputIterator last) : m_buff(capacity, first, last) {} iterator begin() { return m_buff.begin(); } iterator end() { return m_buff.end(); } size_type size() const { return m_buff.size(); } size_type capacity() const { return m_buff.capacity(); } T& operator [] (size_type index) { return m_buff[index]; } template <class InputIterator> void insert(iterator pos, InputIterator first, InputIterator last) { size_type new_size = size() + distance(first, last); if (new_size > capacity()) { circular_buffer<T> buff(new_size, begin(), pos); buff.insert(buff.end(), first, last); buff.insert(buff.end(), pos, end()); m_buff.swap(buff); } else { m_buff.insert(pos, first, last); } } }; Regards, Jan -- Jan Gaspar | [EMAIL PROTECTED] Whitestein Technologies | www.whitestein.com Panenska 28 | SK-81103 Bratislava | Slovak Republic Tel +421(2)5930-0735 | Fax +421(2)5443-5512 _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost