]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
stl_iterator.h (back_insert_iterator<>::operator= (typename _Container::value_type...
authorPaolo Carlini <pcarlini@suse.de>
Wed, 17 Oct 2007 17:44:09 +0000 (17:44 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Wed, 17 Oct 2007 17:44:09 +0000 (17:44 +0000)
2007-10-17  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_iterator.h (back_insert_iterator<>::operator=
(typename _Container::value_type&&), front_insert_iterator<>::
operator=(typename _Container::value_type&&), insert_iterator<>::
operator=(typename _Container::value_type&&)): Add.

* include/bits/stl_iterator.h (insert_iterator<>::operator=
(typename _Container::const_reference)): Fix typo in signature.

From-SVN: r129413

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

index 754918672b5705580997a4634f757744c7aa6a17..05a2160290904aca80436d0f062810be78c47a5e 100644 (file)
@@ -1,3 +1,13 @@
+2007-10-17  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/bits/stl_iterator.h (back_insert_iterator<>::operator=
+       (typename _Container::value_type&&), front_insert_iterator<>::
+       operator=(typename _Container::value_type&&), insert_iterator<>::
+       operator=(typename _Container::value_type&&)): Add.
+
+       * include/bits/stl_iterator.h (insert_iterator<>::operator=
+       (typename _Container::const_reference)): Fix typo in signature.
+
 2007-10-17  Paolo Carlini  <pcarlini@suse.de>
 
        * include/tr1_impl/array: Correct macro guarding cbegin, cend,
index ac561eee351d3e0558aa213fd370097864511ee8..280f7028720707c4b99a7223ed2843d93647036d 100644 (file)
@@ -68,6 +68,7 @@
 
 #include <bits/cpp_type_traits.h>
 #include <ext/type_traits.h>
+#include <bits/stl_move.h>
 
 _GLIBCXX_BEGIN_NAMESPACE(std)
 
@@ -414,6 +415,15 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
        return *this;
       }
 
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+      back_insert_iterator&
+      operator=(typename _Container::value_type&& __value)
+      {
+       container->push_back(std::move(__value));
+       return *this;
+      }
+#endif
+
       /// Simply returns *this.
       back_insert_iterator&
       operator*()
@@ -488,6 +498,15 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
        return *this;
       }
 
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+      front_insert_iterator&
+      operator=(typename _Container::value_type&& __value)
+      {
+       container->push_front(std::move(__value));
+       return *this;
+      }
+#endif
+
       /// Simply returns *this.
       front_insert_iterator&
       operator*()
@@ -577,13 +596,23 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
        *  @endcode
       */
       insert_iterator&
-      operator=(const typename _Container::const_reference __value)
+      operator=(typename _Container::const_reference __value)
       {
        iter = container->insert(iter, __value);
        ++iter;
        return *this;
       }
 
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+      insert_iterator&
+      operator=(typename _Container::value_type&& __value)
+      {
+       iter = container->insert(iter, std::move(__value));
+       ++iter;
+       return *this;
+      }
+#endif
+
       /// Simply returns *this.
       insert_iterator&
       operator*()