From beb1b4758749b66726f2221959408e9170f18c08 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Tue, 9 Oct 2007 17:17:33 +0000 Subject: [PATCH] type_traitsfwd.h (add_reference): Remove. 2007-10-09 Paolo Carlini * include/tr1_impl/type_traitsfwd.h (add_reference): Remove. * include/tr1/type_traits (add_reference): Add forward declaration. * include/tr1_impl/functional (class _Mu<>): Fix. From-SVN: r129171 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/include/tr1/type_traits | 3 +++ libstdc++-v3/include/tr1_impl/functional | 8 ++++++++ libstdc++-v3/include/tr1_impl/type_traitsfwd.h | 3 --- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 03972e03370..f09d71ec1ce 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2007-10-09 Paolo Carlini + + * include/tr1_impl/type_traitsfwd.h (add_reference): Remove. + * include/tr1/type_traits (add_reference): Add forward declaration. + * include/tr1_impl/functional (class _Mu<>): Fix. + 2007-10-09 Paolo Carlini * include/bits/boost_concept_check.h (*AssociativeContainerConcept): diff --git a/libstdc++-v3/include/tr1/type_traits b/libstdc++-v3/include/tr1/type_traits index be73fe77460..c8376ad02aa 100644 --- a/libstdc++-v3/include/tr1/type_traits +++ b/libstdc++-v3/include/tr1/type_traits @@ -170,6 +170,9 @@ namespace tr1 static const bool __value = sizeof(__test(__makeFrom())) == 1; }; + template + struct add_reference; + template struct __is_int_or_cref { diff --git a/libstdc++-v3/include/tr1_impl/functional b/libstdc++-v3/include/tr1_impl/functional index 0005dfcc0d0..3c3e18aa937 100644 --- a/libstdc++-v3/include/tr1_impl/functional +++ b/libstdc++-v3/include/tr1_impl/functional @@ -1149,7 +1149,11 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 __base_type; public: +#ifdef _GLIBCXX_INCLUDE_AS_CXX0X + typedef typename add_lvalue_reference<__base_type>::type type; +#else typedef typename add_reference<__base_type>::type type; +#endif }; template @@ -1177,7 +1181,11 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 template struct result<_CVMu(_CVArg, _Tuple)> { +#ifdef _GLIBCXX_INCLUDE_AS_CXX0X + typedef typename add_lvalue_reference<_CVArg>::type type; +#else typedef typename add_reference<_CVArg>::type type; +#endif }; // Pick up the cv-qualifiers of the argument diff --git a/libstdc++-v3/include/tr1_impl/type_traitsfwd.h b/libstdc++-v3/include/tr1_impl/type_traitsfwd.h index 63db0cb8f6d..558f110dc4a 100644 --- a/libstdc++-v3/include/tr1_impl/type_traitsfwd.h +++ b/libstdc++-v3/include/tr1_impl/type_traitsfwd.h @@ -153,9 +153,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 template struct remove_reference; - template - struct add_reference; - /// @brief array modifications [4.7.3]. template struct remove_extent;