This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
[v3] Implement UK-300 differently
- From: Paolo Carlini <paolo dot carlini at oracle dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: libstdc++ <libstdc++ at gcc dot gnu dot org>
- Date: Fri, 13 Nov 2009 16:09:07 +0100
- Subject: [v3] Implement UK-300 differently
Hi,
it seems better to keep stl_algobase.h as it used to be, minimal (in
particular, no rel_ops), and instead include <utility> in std/algorithm.
Committed to mainline.
Paolo.
//////////////
2009-11-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/algorithm: Include <utility>, per UK-300.
* include/bits/stl_algobase.h: Don't do it here.
Index: include/std/algorithm
===================================================================
--- include/std/algorithm (revision 154151)
+++ include/std/algorithm (working copy)
@@ -1,6 +1,6 @@
// <algorithm> -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -58,6 +58,7 @@
#pragma GCC system_header
+#include <utility> // UK-300.
#include <bits/stl_algobase.h>
#include <bits/stl_algo.h>
Index: include/bits/stl_algobase.h
===================================================================
--- include/bits/stl_algobase.h (revision 154151)
+++ include/bits/stl_algobase.h (working copy)
@@ -63,12 +63,13 @@
#include <bits/cpp_type_traits.h>
#include <ext/type_traits.h>
#include <ext/numeric_traits.h>
+#include <bits/stl_pair.h>
#include <bits/stl_iterator_base_types.h>
#include <bits/stl_iterator_base_funcs.h>
#include <bits/stl_iterator.h>
#include <bits/concept_check.h>
#include <debug/debug.h>
-#include <utility> // UK-300.
+#include <bits/move.h> // For std::swap and _GLIBCXX_MOVE
_GLIBCXX_BEGIN_NAMESPACE(std)