stl_bvector.h (__fill_bvector(_Bit_iterator, _Bit_iterator, bool)): New.
authorPaolo Carlini <pcarlini@suse.de>
Fri, 11 Aug 2006 10:39:37 +0000 (10:39 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Fri, 11 Aug 2006 10:39:37 +0000 (10:39 +0000)
2006-08-11  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_bvector.h (__fill_bvector(_Bit_iterator,
_Bit_iterator, bool)): New.
(fill(_Bit_iterator, _Bit_iterator, const bool&)): Use it.

From-SVN: r116081

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

index 866147f8e367bd0644db1f8b17d63ea26cea360d..6fde3f2b601e6041cb1f466f44171fd94b1faf02 100644 (file)
@@ -1,3 +1,9 @@
+2006-08-11  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/bits/stl_bvector.h (__fill_bvector(_Bit_iterator,
+       _Bit_iterator, bool)): New.
+       (fill(_Bit_iterator, _Bit_iterator, const bool&)): Use it.
+
 2006-08-10  Paolo Carlini  <pcarlini@suse.de>
 
        * include/tr1/random.tcc (gamma_distribution<>::operator()): Fixes
index 5d87bc504e8de34aab0d886f3edbcd4d4805f117..a48e964815bdcd0f710704e7307e93a245c4d721 100644 (file)
@@ -353,18 +353,24 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
   operator+(ptrdiff_t __n, const _Bit_const_iterator& __x)
   { return __x + __n; }
 
+  inline void
+  __fill_bvector(_Bit_iterator __first, _Bit_iterator __last, bool __x)
+  {
+    for (; __first != __last; ++__first)
+      *__first = __x;
+  }
+
   inline void
   fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x)
   {
     if (__first._M_p != __last._M_p)
       {
-       std::__fill<true>::fill(__first._M_p + 1, __last._M_p, __x ? ~0 : 0);
-       std::__fill<true>::fill(__first, _Bit_iterator(__first._M_p + 1, 0),
-                               __x);
-       std::__fill<true>::fill(_Bit_iterator(__last._M_p, 0), __last, __x);
+       std::fill(__first._M_p + 1, __last._M_p, __x ? ~0 : 0);
+       __fill_bvector(__first, _Bit_iterator(__first._M_p + 1, 0), __x);
+       __fill_bvector(_Bit_iterator(__last._M_p, 0), __last, __x);
       }
     else
-      std::__fill<true>::fill(__first, __last, __x);
+      __fill_bvector(__first, __last, __x);
   }
 
   template<class _Alloc>