$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: nesotto_at_[hidden]
Date: 2008-07-18 10:18:57
Author: nesotto
Date: 2008-07-18 10:18:57 EDT (Fri, 18 Jul 2008)
New Revision: 47559
URL: http://svn.boost.org/trac/boost/changeset/47559
Log:
default constructor changed so it does not allocate memory (it allocated a huge memory block previously).
Text files modified: 
   branches/release/boost/circular_buffer/base.hpp |    17 +++++++++--------                       
   1 files changed, 9 insertions(+), 8 deletions(-)
Modified: branches/release/boost/circular_buffer/base.hpp
==============================================================================
--- branches/release/boost/circular_buffer/base.hpp	(original)
+++ branches/release/boost/circular_buffer/base.hpp	2008-07-18 10:18:57 EDT (Fri, 18 Jul 2008)
@@ -907,22 +907,23 @@
 
 // Construction/Destruction
 
-    //! Create an empty <code>circular_buffer</code> with a maximum capacity.
+    //! Create an empty <code>circular_buffer</code> with zero capacity.
     /*!
-        \post <code>capacity() == max_size() \&\& size() == 0</code>
+        \post <code>capacity() == 0 \&\& size() == 0</code>
         \param alloc The allocator.
         \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
                 used).
         \par Complexity
              Constant.
-        \warning This constructor has been defined only due to compatibility with the STL container definition. Avoid
-                 using it because it may allocate <b>very large</b> amount of memory (depending on allocator's
-                 %max_size()).
+        \warning Since Boost version 1.36 the behaviour of this constructor has changed. Now the constructor does not
+                 allocate any memory and both capacity and size are set to zero. Also note when inserting an element
+                 into a <code>circular_buffer</code> with zero capacity (e.g. by
+                 <code>\link push_back() push_back(const_reference)\endlink</code> or
+                 <code>\link insert(iterator, param_value_type) insert(iterator, value_type)\endlink</code>) nothing
+                 will be inserted and the size (as well as capacity) remains zero.
     */
     explicit circular_buffer(const allocator_type& alloc = allocator_type())
-    : m_size(0), m_alloc(alloc) {
-        initialize(max_size());
-    }
+    : m_buff(0), m_end(0), m_first(0), m_last(0), m_size(0), m_alloc(alloc) {}
 
     //! Create an empty <code>circular_buffer</code> with the specified capacity.
     /*!