aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/ext
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2005-12-19 00:56:05 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2005-12-19 00:56:05 +0000
commit3cbc7af037de005ee1c45a07643e153375343cb4 (patch)
tree827ba3eb885e93b2a058124da8547cb937b19a27 /libstdc++-v3/include/ext
parent402840fd9b0ccfd8cbc0f638afe98509f925600d (diff)
downloadgcc-3cbc7af037de005ee1c45a07643e153375343cb4.zip
gcc-3cbc7af037de005ee1c45a07643e153375343cb4.tar.gz
gcc-3cbc7af037de005ee1c45a07643e153375343cb4.tar.bz2
c++config: Add in revised namespace associations.
2005-12-18 Benjamin Kosnik <bkoz@redhat.com> * include/bits/c++config: Add in revised namespace associations. _GLIBCXX_BEGIN_NAMESPACE: New macro. _GLIBCXX_END_NAMESPACE: Same. _GLIBCXX_BEGIN_NESTED_NAMESPACE: Same. _GLIBCXX_END_NESTED_NAMESPACE: Same. * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS]): Add gnu-versioned-namespace. * configure: Regenerated. * config.h.in: Same. * config/abi/pre/gnu-versioned-namespace.ver: New. * config/abi/pre/gnu.ver (GLIBCXX_3.4.7): Add exports for nested debug mode items. * include/Makefile.am (${host_builddir}/c++config.h): Fill in values for __GLIBCXX__ and _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION. * include/Makefile.in: Regnerate. * src/compatibility.cc: Alias new, nested definitions to exported symbols from non-nested __gnu_debug. * src/Makefile.am: Add in ENABLE_SYMVERS_GNU_NAMESPACE. * src/Makefile.in: Regenerate. * docs/html/debug_mode.html: Revise for nested design. * docs/html/debug.html: Use debug qualifications instead of __gnu_debug. * docs/html/configopts.html: Revise documentation for --enable-symvers. * include/debug/formatter: Simplify namespace qualifications for current, nested-only reality. Add top-level namespace alias, namespace debug, for debug-mode containers. * include/debug/safe_iterator.h: Same. * include/debug/set.h: Same. * include/debug/hash_multimap.h: Same. * include/debug/hash_set.h: Same. * include/debug/bitset * include/debug/safe_sequence.h: Same. * include/debug/multiset.h: Same. * include/debug/safe_base.h: Same. * include/debug/functions.h: Same. * include/debug/safe_iterator.tcc * include/debug/hash_multiset.h: Same. * include/debug/vector * include/debug/map.h: Same. * include/debug/deque * include/debug/hash_map.h: Same. * include/debug/string * include/debug/macros.h: Same. * include/debug/list * include/debug/debug.h: Same. * include/debug/multimap.h: Same. * src/debug.cc: Same. * testsuite/23_containers/vector/invalidation/1.cc: Cleanups. * testsuite/23_containers/vector/invalidation/2.cc: Same. * testsuite/23_containers/vector/invalidation/3.cc: Same. * testsuite/23_containers/vector/invalidation/4.cc: Same. * testsuite/23_containers/deque/invalidation/1.cc: Same. * testsuite/23_containers/deque/invalidation/2.cc: Same. * testsuite/23_containers/deque/invalidation/3.cc: Same. * testsuite/23_containers/deque/invalidation/4.cc: Same. * testsuite/23_containers/multiset/invalidation/1.cc: Same. * testsuite/23_containers/multiset/invalidation/2.cc: Same. * testsuite/23_containers/multimap/invalidation/1.cc: Same. * testsuite/23_containers/multimap/invalidation/2.cc: Same. * testsuite/23_containers/bitset/invalidation/1.cc: Same. * testsuite/23_containers/bitset/cons/16020.cc: Same. * testsuite/23_containers/bitset/operations/13838.cc: Same. * testsuite/23_containers/list/invalidation/1.cc: Same. * testsuite/23_containers/list/invalidation/2.cc: Same. * testsuite/23_containers/list/invalidation/3.cc: Same. * testsuite/23_containers/list/invalidation/4.cc: Same. * testsuite/23_containers/set/invalidation/1.cc: Same. * testsuite/23_containers/set/invalidation/2.cc: Same. * testsuite/23_containers/map/invalidation/1.cc: Same. * testsuite/23_containers/map/invalidation/2.cc: Same. * testsuite/23_containers/map/insert/16813.cc: Same. * include/bits/basic_ios.h: Use _GLIBCXX_BEGIN_NAMESPACE(std) and friends. * include/bits/stl_list.h: Same. * include/bits/stl_map.h: Same. * include/bits/stl_algobase.h: Same. * include/bits/localefwd.h: Same. * include/bits/valarray_array.tcc: Same. * include/bits/valarray_after.h: Same. * include/bits/gslice_array.h: Same. * include/bits/stl_queue.h: Same. * include/bits/gslice.h: Same. * include/bits/locale_facets.tcc: Same. * include/bits/locale_classes.h: Same. * include/bits/stl_set.h: Same. * include/bits/locale_facets.h: Same. * include/bits/stl_stack.h: Same. * include/bits/stl_iterator_base_types.h: Same. * include/bits/stl_heap.h: Same. * include/bits/indirect_array.h: Same. * include/bits/atomicity.h: Same. * include/bits/stream_iterator.h: Same. * include/bits/concurrence.h: Same. * include/bits/basic_string.h: Same. * include/bits/stl_multimap.h: Same. * include/bits/stl_pair.h: Same. * include/bits/basic_ios.tcc: Same. * include/bits/stl_raw_storage_iter.h: Same. * include/bits/stl_vector.h: Same. * include/bits/stl_numeric.h: Same. * include/bits/ios_base.h: Same. * include/bits/stl_deque.h: Same. * include/bits/istream.tcc: Same. * include/bits/postypes.h: Same. * include/bits/stl_multiset.h: Same. * include/bits/mask_array.h: Same. * include/bits/stl_uninitialized.h: Same. * include/bits/ostream.tcc: Same. * include/bits/slice_array.h: Same. * include/bits/boost_concept_check.h: Same. * include/bits/sstream.tcc: Same. * include/bits/stl_iterator_base_funcs.h: Same. * include/bits/char_traits.h: Same. * include/bits/stl_algo.h: Same. * include/bits/stringfwd.h: Same. * include/bits/c++config * include/bits/stl_iterator.h: Same. * include/bits/valarray_array.h: Same. * include/bits/stl_tempbuf.h: Same. * include/bits/vector.tcc: Same. * include/bits/deque.tcc: Same. * include/bits/stl_bvector.h: Same. * include/bits/basic_string.tcc: Same. * include/bits/list.tcc: Same. * include/bits/streambuf_iterator.h: Same. * include/bits/valarray_before.h: Same. * include/bits/stl_construct.h: Same. * include/bits/stl_function.h: Same. * include/bits/cpp_type_traits.h: Same. * include/bits/streambuf.tcc: Same. * include/bits/allocator.h: Same. * include/bits/stl_tree.h: Same. * include/bits/fstream.tcc: Same. * include/bits/stl_relops.h: Same. * include/bits/functexcept.h: Same. * include/std/std_valarray.h: Same. * include/std/std_iostream.h: Same. * include/std/std_streambuf.h: Same. * include/std/std_bitset.h: Same. * include/std/std_iosfwd.h: Same. * include/std/std_iomanip.h: Same. * include/std/std_fstream.h: Same. * include/std/std_limits.h: Same. * include/std/std_stdexcept.h: Same. * include/std/std_istream.h: Same. * include/std/std_complex.h: Same. * include/std/std_memory.h: Same. * include/std/std_ostream.h: Same. * include/std/std_sstream.h: Same. * include/c_std/std_csignal.h: Same. * include/c_std/std_cstdlib.h: Same. * include/c_std/std_cstdio.h: Same. * include/c_std/std_cstdarg.h: Same. * include/c_std/std_cctype.h: Same. * include/c_std/std_cmath.h: Same. * include/c_std/std_ctime.h: Same. * include/c_std/std_clocale.h: Same. * include/c_std/std_csetjmp.h: Same. * include/c_std/std_cwchar.h: Same. * include/c_std/std_cstring.h: Same. * include/c_std/std_cstddef.h: Same. * include/c_std/std_cwctype.h: Same. * include/backward/iterator.h: Same. * include/backward/set.h: Same. * include/backward/hashtable.h: Same. * include/backward/fstream.h: Same. * include/backward/tempbuf.h: Same. * include/backward/istream.h: Same. * include/backward/bvector.h: Same. * include/backward/stack.h: Same. * include/backward/rope.h: Same. * include/backward/complex.h: Same. * include/backward/ostream.h: Same. * include/backward/heap.h: Same. * include/backward/iostream.h: Same. * include/backward/function.h: Same. * include/backward/multimap.h: Same. * include/backward/pair.h: Same. * include/backward/stream.h: Same. * include/backward/iomanip.h: Same. * include/backward/strstream * include/backward/slist.h: Same. * include/backward/tree.h: Same. * include/backward/vector.h: Same. * include/backward/deque.h: Same. * include/backward/multiset.h: Same. * include/backward/list.h: Same. * include/backward/map.h: Same. * include/backward/algobase.h: Same. * include/backward/hash_map.h: Same. * include/backward/algo.h: Same. * include/backward/queue.h: Same. * include/backward/streambuf.h: Same. * src/allocator-inst.cc: Same. * src/complex_io.cc: Same. * src/localename.cc: Same. * src/limits.cc: Same. * src/ios_failure.cc: Same. * src/locale-misc-inst.cc: Same. * src/streambuf-inst.cc: Same. * src/misc-inst.cc: Same. * src/concept-inst.cc: Same. * src/ios_locale.cc: Same. * src/pool_allocator.cc: Same. * src/fstream-inst.cc: Same. * src/istream-inst.cc: Same. * src/string-inst.cc: Same. * src/locale_init.cc: Same. * src/ctype.cc: Same. * src/strstream.cc: Same. * src/ostream-inst.cc: Same. * src/functexcept.cc: Same. * src/streambuf.cc: Same. * src/sstream-inst.cc: Same. * src/ios.cc: Same. * src/valarray-inst.cc: Same. * src/locale.cc: Same. * src/tree.cc: Same. * src/stdexcept.cc: Same. * src/istream.cc: Same. * src/compatibility.cc: Same. * src/locale-inst.cc: Same. * src/globals_io.cc: Same. * src/list.cc: Same. * src/ios_init.cc: Same. * src/locale_facets.cc: Same. * src/codecvt.cc: Same. * include/tr1/unordered_map: Use _GLIBCXX_BEGIN_NAMESPACE(tr1). * include/tr1/boost_shared_ptr.h: Same. * include/tr1/tuple * include/tr1/hashtable * include/tr1/type_traits_fwd.h: Same. * include/tr1/unordered_set * include/tr1/functional * include/tr1/ref_fwd.h: Same. * include/tr1/utility * include/tr1/type_traits * include/tr1/array * include/ext/hashtable.h: Use _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx). * include/ext/typelist.h: Same. * include/ext/hash_map: Same. * include/ext/rc_string_base.h: Same. * include/ext/pool_allocator.h: Same. * include/ext/iterator: Same. * include/ext/rb_tree: Same. * include/ext/numeric: Same. * include/ext/vstring.tcc: Same. * include/ext/sso_string_base.h: Same. * include/ext/stdio_filebuf.h: Same. * include/ext/algorithm: Same. * include/ext/codecvt_specializations.h: Same. * include/ext/new_allocator.h: Same. * include/ext/array_allocator.h: Same. * include/ext/vstring_util.h: Same. * include/ext/vstring_fwd.h: Same. * include/ext/mt_allocator.h: Same. * include/ext/debug_allocator.h: Same. * include/ext/slist: Same. * include/ext/stdio_sync_filebuf.h: Same. * include/ext/hash_fun.h: Same. * include/ext/malloc_allocator.h: Same. * include/ext/functional: Same. * include/ext/bitmap_allocator.h: Same. * include/ext/pod_char_traits.h: Same. * include/ext/vstring.h: Same. * include/ext/ropeimpl.h: Same. * include/ext/hash_set: Same. * include/ext/memory: Same. * include/ext/rope: Same. * include/bits/boost_concept_check.h: Same. * include/bits/stl_iterator.h: Same. * include/bits/char_traits.h: Same. * include/bits/cpp_type_traits.h: Same. * include/bits/concurrence.h: Same. * include/bits/atomicity.h: Same. * config/locale/gnu/numeric_members.cc: Same. * config/locale/gnu/collate_members.cc: Same. * config/locale/gnu/ctype_members.cc: Same. * config/locale/gnu/c_locale.cc: Same. * config/locale/gnu/codecvt_members.cc: Same. * config/locale/gnu/messages_members.cc: Same. * config/locale/gnu/c_locale.h: Same. * config/locale/gnu/monetary_members.cc: Same. * config/locale/gnu/time_members.cc: Same. * config/locale/ieee_1003.1-2001/c_locale.h: Same. * config/locale/generic/numeric_members.cc: Same. * config/locale/generic/collate_members.cc: Same. * config/locale/generic/ctype_members.cc: Same. * config/locale/generic/c_locale.cc: Same. * config/locale/generic/codecvt_members.cc: Same. * config/locale/generic/messages_members.cc: Same. * config/locale/generic/c_locale.h: Same. * config/locale/generic/monetary_members.cc: Same. * config/locale/generic/time_members.cc: Same. * config/os/aix/atomicity.h: Same. * config/os/irix/atomicity.h: Same. * config/cpu/powerpc/atomicity.h: Same. * config/cpu/cris/atomicity.h: Same. * config/cpu/ia64/atomicity.h: Same. * config/cpu/alpha/atomicity.h: Same. * config/cpu/m68k/atomicity.h: Same. * config/cpu/hppa/atomicity.h: Same. * config/cpu/mips/atomicity.h: Same. * config/cpu/sparc/atomicity.h: Same. * config/cpu/i386/atomicity.h: Same. * config/cpu/i486/atomicity.h: Same. * config/cpu/sh/atomicity.h: Same. * config/cpu/generic/atomicity.h: Same. * config/cpu/s390/atomicity.h: Same. * config/io/c_io_stdio.h: Same. * config/io/basic_file_stdio.cc: Same. * config/io/basic_file_stdio.h: Same. * src/misc-inst.cc: Same. * src/concept-inst.cc: Same. * src/ext-inst.cc: Same. * src/string-inst.cc: Same. * src/pool_allocator.cc: Same. * src/bitmap_allocator.cc: Same. * src/mt_allocator.cc: Same. * libsupc++/exception: Same. * libsupc++/vterminate.cc: Same. * testsuite/ext/hash_map/1.cc: Explicitly qualify __gnu_cxx::hash_map. * testsuite/ext/hash_map/14648.cc: Same. * libsupc++/eh_alloc.cc: Correct comment line spacing. From-SVN: r108775
Diffstat (limited to 'libstdc++-v3/include/ext')
-rw-r--r--libstdc++-v3/include/ext/algorithm9
-rw-r--r--libstdc++-v3/include/ext/array_allocator.h7
-rw-r--r--libstdc++-v3/include/ext/bitmap_allocator.h7
-rw-r--r--libstdc++-v3/include/ext/codecvt_specializations.h15
-rw-r--r--libstdc++-v3/include/ext/debug_allocator.h9
-rw-r--r--libstdc++-v3/include/ext/functional20
-rw-r--r--libstdc++-v3/include/ext/hash_fun.h9
-rw-r--r--libstdc++-v3/include/ext/hash_map20
-rw-r--r--libstdc++-v3/include/ext/hash_set13
-rw-r--r--libstdc++-v3/include/ext/hashtable.h9
-rw-r--r--libstdc++-v3/include/ext/iterator9
-rw-r--r--libstdc++-v3/include/ext/malloc_allocator.h9
-rw-r--r--libstdc++-v3/include/ext/memory9
-rw-r--r--libstdc++-v3/include/ext/mt_allocator.h7
-rw-r--r--libstdc++-v3/include/ext/new_allocator.h9
-rw-r--r--libstdc++-v3/include/ext/numeric9
-rw-r--r--libstdc++-v3/include/ext/pod_char_traits.h14
-rw-r--r--libstdc++-v3/include/ext/pool_allocator.h9
-rw-r--r--libstdc++-v3/include/ext/rb_tree9
-rw-r--r--libstdc++-v3/include/ext/rc_string_base.h7
-rw-r--r--libstdc++-v3/include/ext/rope6
-rw-r--r--libstdc++-v3/include/ext/ropeimpl.h12
-rw-r--r--libstdc++-v3/include/ext/slist16
-rw-r--r--libstdc++-v3/include/ext/sso_string_base.h7
-rw-r--r--libstdc++-v3/include/ext/stdio_filebuf.h9
-rw-r--r--libstdc++-v3/include/ext/stdio_sync_filebuf.h9
-rw-r--r--libstdc++-v3/include/ext/typelist.h21
-rw-r--r--libstdc++-v3/include/ext/vstring.h12
-rw-r--r--libstdc++-v3/include/ext/vstring.tcc12
-rw-r--r--libstdc++-v3/include/ext/vstring_fwd.h7
-rw-r--r--libstdc++-v3/include/ext/vstring_util.h7
31 files changed, 176 insertions, 151 deletions
diff --git a/libstdc++-v3/include/ext/algorithm b/libstdc++-v3/include/ext/algorithm
index 4402620..712a4ed 100644
--- a/libstdc++-v3/include/ext/algorithm
+++ b/libstdc++-v3/include/ext/algorithm
@@ -1,6 +1,6 @@
// Algorithm extensions -*- C++ -*-
-// Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2004, 2005 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
@@ -65,8 +65,8 @@
#include <algorithm>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
using std::ptrdiff_t;
using std::min;
using std::pair;
@@ -521,6 +521,7 @@ namespace __gnu_cxx
return false;
return true;
}
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif /* _EXT_ALGORITHM */
diff --git a/libstdc++-v3/include/ext/array_allocator.h b/libstdc++-v3/include/ext/array_allocator.h
index 77f5b5c..02af578 100644
--- a/libstdc++-v3/include/ext/array_allocator.h
+++ b/libstdc++-v3/include/ext/array_allocator.h
@@ -39,8 +39,8 @@
#include <bits/functexcept.h>
#include <tr1/array>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
/// @brief Base class.
template<typename _Tp>
class array_allocator_base
@@ -140,6 +140,7 @@ namespace __gnu_cxx
operator!=(const array_allocator<_Tp, _Array>&,
const array_allocator<_Tp, _Array>&)
{ return false; }
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h b/libstdc++-v3/include/ext/bitmap_allocator.h
index 7860b6d..6d80c99 100644
--- a/libstdc++-v3/include/ext/bitmap_allocator.h
+++ b/libstdc++-v3/include/ext/bitmap_allocator.h
@@ -69,8 +69,8 @@
#endif
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
#if defined __GTHREADS
namespace
{
@@ -1286,8 +1286,7 @@ namespace __gnu_cxx
bitmap_allocator<_Tp>::_S_mut;
#endif
-
-}
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/codecvt_specializations.h b/libstdc++-v3/include/ext/codecvt_specializations.h
index 82a5a7b..a83b747 100644
--- a/libstdc++-v3/include/ext/codecvt_specializations.h
+++ b/libstdc++-v3/include/ext/codecvt_specializations.h
@@ -42,8 +42,8 @@
// Define this here so codecvt.cc can have _S_max_size definition.
#define _GLIBCXX_USE_ENCODING_STATE 1
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
/// @brief Extension to use icov for dealing with character encodings.
// This includes conversions and comparisons between various character
// sets. This object encapsulates data that may need to be shared between
@@ -213,10 +213,12 @@ namespace __gnu_cxx
typedef encoding_state state_type;
typedef typename std::fpos<state_type> pos_type;
};
-} // namespace __gnu_cxx
-namespace std
-{
+_GLIBCXX_END_NAMESPACE
+
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
using __gnu_cxx::encoding_state;
/// @brief codecvt<InternT, _ExternT, encoding_state> specialization.
@@ -501,5 +503,6 @@ namespace std
codecvt<_InternT, _ExternT, encoding_state>::
do_max_length() const throw()
{ return 1; }
-} // namespace std
+
+_GLIBCXX_END_NAMESPACE
diff --git a/libstdc++-v3/include/ext/debug_allocator.h b/libstdc++-v3/include/ext/debug_allocator.h
index a0187a0..aa96507 100644
--- a/libstdc++-v3/include/ext/debug_allocator.h
+++ b/libstdc++-v3/include/ext/debug_allocator.h
@@ -1,6 +1,6 @@
// Allocators -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 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
@@ -50,8 +50,8 @@
#include <stdexcept>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
/**
* @brief A meta-allocator with debugging bits, as per [20.4].
*
@@ -120,6 +120,7 @@ namespace __gnu_cxx
throw std::runtime_error("debug_allocator::deallocate null pointer");
}
};
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/functional b/libstdc++-v3/include/ext/functional
index 18132c3..c100f59 100644
--- a/libstdc++-v3/include/ext/functional
+++ b/libstdc++-v3/include/ext/functional
@@ -1,6 +1,6 @@
// Functional extensions -*- C++ -*-
-// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2004, 2005 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
@@ -65,8 +65,8 @@
#include <functional>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
using std::unary_function;
using std::binary_function;
using std::mem_fun1_t;
@@ -74,11 +74,11 @@ namespace __gnu_cxx
using std::mem_fun1_ref_t;
using std::const_mem_fun1_ref_t;
- /** The @c identity_element functions are not part of the C++ standard; SGI
- * provided them as an extension. Its argument is an operation, and its
- * return value is the identity element for that operation. It is overloaded
- * for addition and multiplication, and you can overload it for your own
- * nefarious operations.
+ /** The @c identity_element functions are not part of the C++
+ * standard; SGI provided them as an extension. Its argument is an
+ * operation, and its return value is the identity element for that
+ * operation. It is overloaded for addition and multiplication,
+ * and you can overload it for your own nefarious operations.
*
* @addtogroup SGIextensions
* @{
@@ -420,6 +420,8 @@ namespace __gnu_cxx
inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
mem_fun1_ref(_Ret (_Tp::*__f)(_Arg) const)
{ return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
+
#endif
diff --git a/libstdc++-v3/include/ext/hash_fun.h b/libstdc++-v3/include/ext/hash_fun.h
index 6933fea..16c0458 100644
--- a/libstdc++-v3/include/ext/hash_fun.h
+++ b/libstdc++-v3/include/ext/hash_fun.h
@@ -1,6 +1,6 @@
// 'struct hash' from SGI -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 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
@@ -63,8 +63,8 @@
#include <cstddef>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
using std::size_t;
template<class _Key>
@@ -166,6 +166,7 @@ namespace __gnu_cxx
operator()(unsigned long __x) const
{ return __x; }
};
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/hash_map b/libstdc++-v3/include/ext/hash_map
index 3340cc3..6e2b5b8 100644
--- a/libstdc++-v3/include/ext/hash_map
+++ b/libstdc++-v3/include/ext/hash_map
@@ -64,8 +64,8 @@
#include <ext/hashtable.h>
#include <bits/concept_check.h>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
using std::equal_to;
using std::allocator;
using std::pair;
@@ -438,7 +438,7 @@ namespace __gnu_cxx
end() const
{ return _M_ht.end(); }
-public:
+ public:
iterator
insert(const value_type& __obj)
{ return _M_ht.insert_equal(__obj); }
@@ -504,7 +504,7 @@ public:
size_type
elems_in_bucket(size_type __n) const
{ return _M_ht.elems_in_bucket(__n); }
-};
+ };
template <class _Key, class _Tp, class _HF, class _EqKey, class _Alloc>
inline bool
@@ -524,13 +524,12 @@ public:
hash_multimap<_Key, _Tp, _HashFcn, _EqlKey, _Alloc>& __hm2)
{ __hm1.swap(__hm2); }
-} // namespace __gnu_cxx
+_GLIBCXX_END_NAMESPACE
-namespace std
-{
-// Specialization of insert_iterator so that it will work for hash_map
-// and hash_multimap.
+_GLIBCXX_BEGIN_NAMESPACE(std)
+ // Specialization of insert_iterator so that it will work for hash_map
+ // and hash_multimap.
template <class _Key, class _Tp, class _HashFn, class _EqKey, class _Alloc>
class insert_iterator<__gnu_cxx::hash_map<_Key, _Tp, _HashFn,
_EqKey, _Alloc> >
@@ -616,7 +615,8 @@ namespace std
operator++(int)
{ return *this; }
};
-} // namespace std
+
+_GLIBCXX_END_NAMESPACE
#ifdef _GLIBCXX_DEBUG
# include <debug/hash_map>
diff --git a/libstdc++-v3/include/ext/hash_set b/libstdc++-v3/include/ext/hash_set
index 1179e88..178fb85 100644
--- a/libstdc++-v3/include/ext/hash_set
+++ b/libstdc++-v3/include/ext/hash_set
@@ -64,8 +64,8 @@
#include <ext/hashtable.h>
#include <bits/concept_check.h>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
using std::equal_to;
using std::allocator;
using std::pair;
@@ -490,10 +490,10 @@ public:
hash_multiset<_Val, _HashFcn, _EqualKey, _Alloc>& __hs2)
{ __hs1.swap(__hs2); }
-} // namespace __gnu_cxx
+_GLIBCXX_END_NAMESPACE
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
-namespace std
-{
// Specialization of insert_iterator so that it will work for hash_set
// and hash_multiset.
@@ -582,7 +582,8 @@ namespace std
insert_iterator<_Container>&
operator++(int) { return *this; }
};
-} // namespace std
+
+_GLIBCXX_END_NAMESPACE
#ifdef _GLIBCXX_DEBUG
# include <debug/hash_set>
diff --git a/libstdc++-v3/include/ext/hashtable.h b/libstdc++-v3/include/ext/hashtable.h
index f6e3fd6..3706f80 100644
--- a/libstdc++-v3/include/ext/hashtable.h
+++ b/libstdc++-v3/include/ext/hashtable.h
@@ -1,6 +1,6 @@
// Hashtable implementation used by containers -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 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
@@ -70,8 +70,8 @@
#include <bits/stl_function.h>
#include <ext/hash_fun.h>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
using std::size_t;
using std::ptrdiff_t;
using std::forward_iterator_tag;
@@ -1125,6 +1125,7 @@ namespace __gnu_cxx
__throw_exception_again;
}
}
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/iterator b/libstdc++-v3/include/ext/iterator
index e6334ad..b59e5ca 100644
--- a/libstdc++-v3/include/ext/iterator
+++ b/libstdc++-v3/include/ext/iterator
@@ -1,6 +1,6 @@
// HP/SGI iterator extensions -*- C++ -*-
-// Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2004, 2005 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
@@ -66,8 +66,8 @@
#include <bits/concept_check.h>
#include <iterator>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
// There are two signatures for distance. In addition to the one
// taking two iterators and returning a result, there is another
// taking two iterators and a reference-to-result variable, and
@@ -111,7 +111,8 @@ namespace __gnu_cxx
// concept requirements -- taken care of in __distance
__distance(__first, __last, __n, std::__iterator_category(__first));
}
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/malloc_allocator.h b/libstdc++-v3/include/ext/malloc_allocator.h
index 6d66c26..8143539 100644
--- a/libstdc++-v3/include/ext/malloc_allocator.h
+++ b/libstdc++-v3/include/ext/malloc_allocator.h
@@ -1,6 +1,6 @@
// Allocator that wraps "C" malloc -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 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
@@ -38,8 +38,8 @@
#include <new>
#include <bits/functexcept.h>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
/**
* @brief An allocator that uses malloc.
*
@@ -120,6 +120,7 @@ namespace __gnu_cxx
inline bool
operator!=(const malloc_allocator<_Tp>&, const malloc_allocator<_Tp>&)
{ return false; }
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/memory b/libstdc++-v3/include/ext/memory
index deb77f8..0755d89 100644
--- a/libstdc++-v3/include/ext/memory
+++ b/libstdc++-v3/include/ext/memory
@@ -1,6 +1,6 @@
// Memory extensions -*- C++ -*-
-// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2004, 2005 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
@@ -66,8 +66,8 @@
#include <memory>
#include <bits/stl_tempbuf.h>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
using std::ptrdiff_t;
using std::pair;
using std::__iterator_category;
@@ -192,7 +192,8 @@ namespace __gnu_cxx
/// Destroys objects and frees storage.
~temporary_buffer() { }
};
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/mt_allocator.h b/libstdc++-v3/include/ext/mt_allocator.h
index 014e62a..1b189c3 100644
--- a/libstdc++-v3/include/ext/mt_allocator.h
+++ b/libstdc++-v3/include/ext/mt_allocator.h
@@ -40,8 +40,8 @@
#include <bits/gthr.h>
#include <bits/atomicity.h>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
typedef void (*__destroy_handler)(void*);
/// @brief Base class for pool object.
@@ -729,6 +729,7 @@ namespace __gnu_cxx
{ return false; }
#undef __thread_default
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/new_allocator.h b/libstdc++-v3/include/ext/new_allocator.h
index 40122c2..b761b00 100644
--- a/libstdc++-v3/include/ext/new_allocator.h
+++ b/libstdc++-v3/include/ext/new_allocator.h
@@ -1,6 +1,6 @@
// Allocator that wraps operator new -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 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
@@ -37,8 +37,8 @@
#include <new>
#include <bits/functexcept.h>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
/**
* @brief An allocator that uses global new, as per [20.4].
*
@@ -116,6 +116,7 @@ namespace __gnu_cxx
inline bool
operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
{ return false; }
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/numeric b/libstdc++-v3/include/ext/numeric
index 0f112c2..290d032 100644
--- a/libstdc++-v3/include/ext/numeric
+++ b/libstdc++-v3/include/ext/numeric
@@ -1,6 +1,6 @@
// Numeric extensions -*- C++ -*-
-// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2004, 2005 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
@@ -68,8 +68,8 @@
#include <ext/functional> // For identity_element
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
// Returns __x ** __n, where __n >= 0. _Note that "multiplication"
// is required to be associative, but not necessarily commutative.
template<typename _Tp, typename _Integer, typename _MonoidOperation>
@@ -144,7 +144,8 @@ namespace __gnu_cxx
while (__first != __last)
*__first++ = __value++;
}
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/pod_char_traits.h b/libstdc++-v3/include/ext/pod_char_traits.h
index 8b9a568..236e349 100644
--- a/libstdc++-v3/include/ext/pod_char_traits.h
+++ b/libstdc++-v3/include/ext/pod_char_traits.h
@@ -39,8 +39,8 @@
#include <string>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
// POD character abstraction.
// NB: The char_type parameter is a subset of int_type, as to allow
// int_type to properly hold the full range of char_type values as
@@ -83,10 +83,11 @@ namespace __gnu_cxx
inline bool
operator<(const character<V, I, S>& lhs, const character<V, I, S>& rhs)
{ return lhs.value < rhs.value; }
-} // namespace __gnu_cxx
-namespace std
-{
+_GLIBCXX_END_NAMESPACE
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
/// char_traits<__gnu_cxx::character> specialization.
template<typename V, typename I, typename S>
struct char_traits<__gnu_cxx::character<V, I, S> >
@@ -180,6 +181,7 @@ namespace std
not_eof(const int_type& __c)
{ return eq_int_type(__c, eof()) ? int_type() : __c; }
};
-}
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/pool_allocator.h b/libstdc++-v3/include/ext/pool_allocator.h
index d8bca1c..e11c166 100644
--- a/libstdc++-v3/include/ext/pool_allocator.h
+++ b/libstdc++-v3/include/ext/pool_allocator.h
@@ -1,6 +1,6 @@
// Allocators -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 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
@@ -54,8 +54,8 @@
#include <bits/atomicity.h>
#include <bits/concurrence.h>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
/**
* @brief Base class for __pool_alloc.
*
@@ -250,6 +250,7 @@ namespace __gnu_cxx
}
}
}
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/rb_tree b/libstdc++-v3/include/ext/rb_tree
index 31c8431..22dd7cd 100644
--- a/libstdc++-v3/include/ext/rb_tree
+++ b/libstdc++-v3/include/ext/rb_tree
@@ -1,6 +1,6 @@
// rb_tree extension -*- C++ -*-
-// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2004, 2005 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
@@ -65,8 +65,8 @@
#include <bits/stl_tree.h>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
using std::_Rb_tree;
using std::allocator;
@@ -92,6 +92,7 @@ namespace __gnu_cxx
~rb_tree() { }
};
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/rc_string_base.h b/libstdc++-v3/include/ext/rc_string_base.h
index 43a69c2..a264c1e 100644
--- a/libstdc++-v3/include/ext/rc_string_base.h
+++ b/libstdc++-v3/include/ext/rc_string_base.h
@@ -38,8 +38,8 @@
#include <bits/atomicity.h>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
/**
* @if maint
* Documentation? What's that?
@@ -696,6 +696,7 @@ namespace __gnu_cxx
return true;
return false;
}
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif /* _RC_STRING_BASE_H */
diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope
index e4ad50d..35be376 100644
--- a/libstdc++-v3/include/ext/rope
+++ b/libstdc++-v3/include/ext/rope
@@ -66,8 +66,8 @@
#include <ext/memory> // For uninitialized_copy_n
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
using std::size_t;
using std::ptrdiff_t;
using std::allocator;
@@ -2894,7 +2894,7 @@ protected:
}
};
-} // namespace __gnu_cxx
+_GLIBCXX_END_NAMESPACE
# include <ext/ropeimpl.h>
diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h
index c4b2eed..9371dbb 100644
--- a/libstdc++-v3/include/ext/ropeimpl.h
+++ b/libstdc++-v3/include/ext/ropeimpl.h
@@ -1,6 +1,6 @@
// SGI's rope class implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 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
@@ -53,8 +53,8 @@
#include <ext/memory> // For uninitialized_copy_n
#include <ext/numeric> // For power
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
using std::size_t;
using std::printf;
using std::basic_ostream;
@@ -1699,8 +1699,4 @@ namespace __gnu_cxx
{ _Rope_rotate(__first, __middle, __last); }
# endif
-} // namespace __gnu_cxx
-
-// Local Variables:
-// mode:C++
-// End:
+_GLIBCXX_END_NAMESPACE
diff --git a/libstdc++-v3/include/ext/slist b/libstdc++-v3/include/ext/slist
index 49ce77e..06bf7b1 100644
--- a/libstdc++-v3/include/ext/slist
+++ b/libstdc++-v3/include/ext/slist
@@ -55,8 +55,8 @@
#include <bits/stl_uninitialized.h>
#include <bits/concept_check.h>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
using std::size_t;
using std::ptrdiff_t;
using std::_Construct;
@@ -1023,13 +1023,12 @@ namespace __gnu_cxx
}
}
-} // namespace __gnu_cxx
+_GLIBCXX_END_NAMESPACE
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
-namespace std
-{
// Specialization of insert_iterator so that insertions will be constant
// time rather than linear time.
-
template <class _Tp, class _Alloc>
class insert_iterator<__gnu_cxx::slist<_Tp, _Alloc> >
{
@@ -1073,7 +1072,8 @@ namespace std
insert_iterator<_Container>&
operator++(int)
{ return *this; }
-};
+ };
+
+_GLIBCXX_END_NAMESPACE
-} // namespace std
#endif
diff --git a/libstdc++-v3/include/ext/sso_string_base.h b/libstdc++-v3/include/ext/sso_string_base.h
index bb0d746..c21dbbd 100644
--- a/libstdc++-v3/include/ext/sso_string_base.h
+++ b/libstdc++-v3/include/ext/sso_string_base.h
@@ -36,8 +36,8 @@
#ifndef _SSO_STRING_BASE_H
#define _SSO_STRING_BASE_H 1
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
template<typename _CharT, typename _Traits, typename _Alloc>
class __sso_string_base
: protected __vstring_utility<_CharT, _Traits, _Alloc>
@@ -567,6 +567,7 @@ namespace __gnu_cxx
return true;
return false;
}
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif /* _SSO_STRING_BASE_H */
diff --git a/libstdc++-v3/include/ext/stdio_filebuf.h b/libstdc++-v3/include/ext/stdio_filebuf.h
index 5a6d22a..312a217 100644
--- a/libstdc++-v3/include/ext/stdio_filebuf.h
+++ b/libstdc++-v3/include/ext/stdio_filebuf.h
@@ -1,6 +1,6 @@
// File descriptor layer for filebuf -*- C++ -*-
-// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2004, 2005 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
@@ -38,8 +38,8 @@
#include <fstream>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
/**
* @brief Provides a layer of compatibility for C/POSIX.
*
@@ -156,6 +156,7 @@ namespace __gnu_cxx
this->_M_set_buffer(-1);
}
}
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/stdio_sync_filebuf.h b/libstdc++-v3/include/ext/stdio_sync_filebuf.h
index c51c678..f0ec12c 100644
--- a/libstdc++-v3/include/ext/stdio_sync_filebuf.h
+++ b/libstdc++-v3/include/ext/stdio_sync_filebuf.h
@@ -1,6 +1,6 @@
// Iostreams wrapper for stdio FILE* -*- C++ -*-
-// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004, 2005 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
@@ -44,8 +44,8 @@
#include <cwchar>
#endif
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
/// @brief class stdio_sync_filebuf.
template<typename _CharT, typename _Traits = std::char_traits<_CharT> >
class stdio_sync_filebuf : public std::basic_streambuf<_CharT, _Traits>
@@ -277,6 +277,7 @@ namespace __gnu_cxx
extern template class stdio_sync_filebuf<wchar_t>;
#endif
#endif
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/ext/typelist.h b/libstdc++-v3/include/ext/typelist.h
index 5bd7c9d..143efc0 100644
--- a/libstdc++-v3/include/ext/typelist.h
+++ b/libstdc++-v3/include/ext/typelist.h
@@ -46,8 +46,8 @@
#ifndef TYPELIST_HPP
#define TYPELIST_HPP
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
// XXX namespace typelist
// struct typelist -> struct node
@@ -87,11 +87,12 @@ namespace __gnu_cxx
template<typename Typelist, template<typename T> class Transform>
struct transform;
-}
+_GLIBCXX_END_NAMESPACE
+
+
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-namespace __gnu_cxx
-{
namespace detail
{
// #include <ext/detail/type_utils.h>
@@ -264,11 +265,12 @@ namespace detail
typedef typename append<Hd, typelist<rest> >::type::root type;
};
} // namespace detail
-}
+_GLIBCXX_END_NAMESPACE
+
+
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-namespace __gnu_cxx
-{
template<typename Fn, typename Typelist>
struct apply
{
@@ -345,7 +347,8 @@ namespace __gnu_cxx
public:
typedef typelist<typename transform_type::type> type;
};
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#define _GLIBCXX_TYPELIST_CHAIN1(X0) __gnu_cxx::chain<X0, __gnu_cxx::null_type>
diff --git a/libstdc++-v3/include/ext/vstring.h b/libstdc++-v3/include/ext/vstring.h
index 1c59e71..6b04761 100644
--- a/libstdc++-v3/include/ext/vstring.h
+++ b/libstdc++-v3/include/ext/vstring.h
@@ -40,8 +40,8 @@
#include <ext/rc_string_base.h>
#include <ext/sso_string_base.h>
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
/**
* @class __versa_string vstring.h
* @brief Managing sequences of characters and character-like objects.
@@ -2106,10 +2106,10 @@ namespace __gnu_cxx
__versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
{ __lhs.swap(__rhs); }
-} // namespace __gnu_cxx
+_GLIBCXX_END_NAMESPACE
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
-namespace std
-{
/**
* @brief Read stream into a string.
* @param is Input stream.
@@ -2183,7 +2183,7 @@ namespace std
__gnu_cxx::__versa_string<_CharT, _Traits, _Alloc, _Base>& __str)
{ return getline(__is, __str, __is.widen('\n')); }
-} // namespace std
+_GLIBCXX_END_NAMESPACE
#ifndef _GLIBCXX_EXPORT_TEMPLATE
# include "vstring.tcc"
diff --git a/libstdc++-v3/include/ext/vstring.tcc b/libstdc++-v3/include/ext/vstring.tcc
index 2fed7e2..3ce552a 100644
--- a/libstdc++-v3/include/ext/vstring.tcc
+++ b/libstdc++-v3/include/ext/vstring.tcc
@@ -38,8 +38,8 @@
#pragma GCC system_header
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
template<typename _CharT, typename _Traits, typename _Alloc,
template <typename, typename, typename> class _Base>
const typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type
@@ -536,10 +536,10 @@ namespace __gnu_cxx
return __r;
}
-} // namespace __gnu_cxx
+_GLIBCXX_END_NAMESPACE
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
-namespace std
-{
template<typename _CharT, typename _Traits, typename _Alloc,
template <typename, typename, typename> class _Base>
basic_istream<_CharT, _Traits>&
@@ -714,6 +714,6 @@ namespace std
return __in;
}
-} // namespace std
+_GLIBCXX_END_NAMESPACE
#endif // _VSTRING_TCC
diff --git a/libstdc++-v3/include/ext/vstring_fwd.h b/libstdc++-v3/include/ext/vstring_fwd.h
index 08ec94a..9537006 100644
--- a/libstdc++-v3/include/ext/vstring_fwd.h
+++ b/libstdc++-v3/include/ext/vstring_fwd.h
@@ -42,8 +42,8 @@
#include <bits/char_traits.h>
#include <memory> // For allocator.
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
template<typename _CharT, typename _Traits, typename _Alloc>
class __sso_string_base;
@@ -69,6 +69,7 @@ namespace __gnu_cxx
__versa_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t>, __rc_string_base> __wrc_string;
#endif
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif /* _VSTRING_FWD_H */
diff --git a/libstdc++-v3/include/ext/vstring_util.h b/libstdc++-v3/include/ext/vstring_util.h
index 2a8c45c..30ec39b 100644
--- a/libstdc++-v3/include/ext/vstring_util.h
+++ b/libstdc++-v3/include/ext/vstring_util.h
@@ -45,8 +45,8 @@
#include <locale>
#include <algorithm> // For std::distance, srd::search.
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
template<typename _CharT, typename _Traits, typename _Alloc>
struct __vstring_utility
{
@@ -194,6 +194,7 @@ namespace __gnu_cxx
_S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
{ _S_copy(__p, __k1, __k2 - __k1); }
};
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
#endif /* _VSTRING_UTIL_H */