OSDN Git Service

2007-12-11 Paolo Carlini <pcarlini@suse.de>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Dec 2007 19:08:26 +0000 (19:08 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Dec 2007 19:08:26 +0000 (19:08 +0000)
* include/bits/stl_bvector.h (vector<bool>::reserve): Move out of
line...
* include/bits/vector.tcc: ... here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130777 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_bvector.h
libstdc++-v3/include/bits/vector.tcc

index d374db8..a318ac8 100644 (file)
@@ -1,3 +1,9 @@
+2007-12-11  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/bits/stl_bvector.h (vector<bool>::reserve): Move out of
+       line...
+       * include/bits/vector.tcc: ... here.
+
 2007-12-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
 
        * docs/html/21_strings/howto.html: Add links to referenced articles.
index 255e00b..045f203 100644 (file)
@@ -690,21 +690,7 @@ template<typename _Alloc>
     { _M_range_check(__n); return (*this)[__n]; }
 
     void
-    reserve(size_type __n)
-    {
-      if (__n > this->max_size())
-       __throw_length_error(__N("vector::reserve"));
-      if (this->capacity() < __n)
-       {
-         _Bit_type* __q = this->_M_allocate(__n);
-         this->_M_impl._M_finish = _M_copy_aligned(begin(), end(),
-                                                   iterator(__q, 0));
-         this->_M_deallocate();
-         this->_M_impl._M_start = iterator(__q, 0);
-         this->_M_impl._M_end_of_storage = (__q + (__n + int(_S_word_bit) - 1)
-                                            / int(_S_word_bit));
-       }
-    }
+    reserve(size_type __n);
 
     reference
     front()
index 354ab73..030cb3a 100644 (file)
@@ -537,6 +537,25 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
   template<typename _Alloc>
     void
     vector<bool, _Alloc>::
+    reserve(size_type __n)
+    {
+      if (__n > this->max_size())
+       __throw_length_error(__N("vector::reserve"));
+      if (this->capacity() < __n)
+       {
+         _Bit_type* __q = this->_M_allocate(__n);
+         this->_M_impl._M_finish = _M_copy_aligned(begin(), end(),
+                                                   iterator(__q, 0));
+         this->_M_deallocate();
+         this->_M_impl._M_start = iterator(__q, 0);
+         this->_M_impl._M_end_of_storage = (__q + (__n + int(_S_word_bit) - 1)
+                                            / int(_S_word_bit));
+       }
+    }
+
+  template<typename _Alloc>
+    void
+    vector<bool, _Alloc>::
     _M_fill_insert(iterator __position, size_type __n, bool __x)
     {
       if (__n == 0)