]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
stl_algo.h (swap_ranges): Move...
authorPaolo Carlini <pcarlini@suse.de>
Mon, 12 Mar 2007 13:59:50 +0000 (13:59 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Mon, 12 Mar 2007 13:59:50 +0000 (13:59 +0000)
2007-03-12  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_algo.h (swap_ranges): Move...
* include/bits/stl_algobase.h: ... here.
* include/tr1/array: Trim includes, stl_algobase.h is enough.

From-SVN: r122840

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_algo.h
libstdc++-v3/include/bits/stl_algobase.h
libstdc++-v3/include/tr1/array

index 73d77bc49cf96a1219b9f27bfd55e124ee208a4f..8257ba7b5e937d5756605066abed31ee8d98624a 100644 (file)
@@ -1,3 +1,9 @@
+2007-03-12  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/bits/stl_algo.h (swap_ranges): Move...
+       * include/bits/stl_algobase.h: ... here.
+       * include/tr1/array: Trim includes, stl_algobase.h is enough.
+
 2007-03-11  Paolo Carlini  <pcarlini@suse.de>
 
        PR libstdc++/28080 (final)
index 9e060b54e48efd6ce812f8b873fe1eb30ff49953..0496ebf38846c9571595ff65f6410ad76103589a 100644 (file)
@@ -860,40 +860,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
                             std::__iterator_category(__first));
     }
 
-  /**
-   *  @brief Swap the elements of two sequences.
-   *  @param  first1  A forward iterator.
-   *  @param  last1   A forward iterator.
-   *  @param  first2  A forward iterator.
-   *  @return   An iterator equal to @p first2+(last1-first1).
-   *
-   *  Swaps each element in the range @p [first1,last1) with the
-   *  corresponding element in the range @p [first2,(last1-first1)).
-   *  The ranges must not overlap.
-  */
-  template<typename _ForwardIterator1, typename _ForwardIterator2>
-    _ForwardIterator2
-    swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-               _ForwardIterator2 __first2)
-    {
-      // concept requirements
-      __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
-                                 _ForwardIterator1>)
-      __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
-                                 _ForwardIterator2>)
-      __glibcxx_function_requires(_ConvertibleConcept<
-           typename iterator_traits<_ForwardIterator1>::value_type,
-           typename iterator_traits<_ForwardIterator2>::value_type>)
-      __glibcxx_function_requires(_ConvertibleConcept<
-           typename iterator_traits<_ForwardIterator2>::value_type,
-           typename iterator_traits<_ForwardIterator1>::value_type>)
-      __glibcxx_requires_valid_range(__first1, __last1);
-
-      for ( ; __first1 != __last1; ++__first1, ++__first2)
-       std::iter_swap(__first1, __first2);
-      return __first2;
-    }
-
   /**
    *  @brief Perform an operation on a sequence.
    *  @param  first     An input iterator.
index 5e63feb00523af04fb6770caeecf55e637756796..480557274c2e9675ba34110ac756e1f53784dabb 100644 (file)
@@ -167,6 +167,40 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
        iter_swap(__a, __b);
     }
 
+  /**
+   *  @brief Swap the elements of two sequences.
+   *  @param  first1  A forward iterator.
+   *  @param  last1   A forward iterator.
+   *  @param  first2  A forward iterator.
+   *  @return   An iterator equal to @p first2+(last1-first1).
+   *
+   *  Swaps each element in the range @p [first1,last1) with the
+   *  corresponding element in the range @p [first2,(last1-first1)).
+   *  The ranges must not overlap.
+  */
+  template<typename _ForwardIterator1, typename _ForwardIterator2>
+    _ForwardIterator2
+    swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
+               _ForwardIterator2 __first2)
+    {
+      // concept requirements
+      __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
+                                 _ForwardIterator1>)
+      __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
+                                 _ForwardIterator2>)
+      __glibcxx_function_requires(_ConvertibleConcept<
+           typename iterator_traits<_ForwardIterator1>::value_type,
+           typename iterator_traits<_ForwardIterator2>::value_type>)
+      __glibcxx_function_requires(_ConvertibleConcept<
+           typename iterator_traits<_ForwardIterator2>::value_type,
+           typename iterator_traits<_ForwardIterator1>::value_type>)
+      __glibcxx_requires_valid_range(__first1, __last1);
+
+      for (; __first1 != __last1; ++__first1, ++__first2)
+       std::iter_swap(__first1, __first2);
+      return __first2;
+    }
+
   /**
    *  @brief This does what you think it does.
    *  @param  a  A thing of arbitrary type.
index d08aa830ebec8811deb46503fff27f40826e15f8..34508dfce61ae8cd4c853012e3708dce165258b2 100644 (file)
@@ -1,6 +1,6 @@
 // class template array -*- C++ -*-
 
-// Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 #ifndef _TR1_ARRAY
 #define _TR1_ARRAY 1
 
-#include <new>
-#include <iterator>
-#include <algorithm>
-#include <cstddef>
-#include <bits/functexcept.h>
-#include <ext/type_traits.h>
+#include <bits/stl_algobase.h>
 
 //namespace std::tr1
 namespace std