type_traitsfwd.h (add_reference): Remove.
authorPaolo Carlini <pcarlini@suse.de>
Tue, 9 Oct 2007 17:17:33 +0000 (17:17 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 9 Oct 2007 17:17:33 +0000 (17:17 +0000)
2007-10-09  Paolo Carlini  <pcarlini@suse.de>

* 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
libstdc++-v3/include/tr1/type_traits
libstdc++-v3/include/tr1_impl/functional
libstdc++-v3/include/tr1_impl/type_traitsfwd.h

index 03972e033705ec336796dad8545ca84b16dad438..f09d71ec1ceac6fc4eb91f4f45508f0d57cfb665 100644 (file)
@@ -1,3 +1,9 @@
+2007-10-09  Paolo Carlini  <pcarlini@suse.de>
+
+       * 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  <pcarlini@suse.de>
 
        * include/bits/boost_concept_check.h (*AssociativeContainerConcept):
index be73fe77460be78043c187fe21d3ef7745c805f8..c8376ad02aaebd94f84e7003064e0f56da9a1ed9 100644 (file)
@@ -170,6 +170,9 @@ namespace tr1
       static const bool __value = sizeof(__test(__makeFrom())) == 1;
     };
 
+  template<typename _Tp>
+    struct add_reference;
+
   template<typename _Tp>
     struct __is_int_or_cref
     {
index 0005dfcc0d0c59ec610e115a386a2cccf827133f..3c3e18aa9379a8e69f5006be21f0c4de9530a59d 100644 (file)
@@ -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<typename _Tuple>
@@ -1177,7 +1181,11 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
       template<typename _CVMu, typename _CVArg, typename _Tuple>
         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
index 63db0cb8f6dc6c45ff5d0ec653b154adf4d4488c..558f110dc4a993c1e1cf5b8ab92469cdb48705d1 100644 (file)
@@ -153,9 +153,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
   template<typename _Tp>
     struct remove_reference;
   
-  template<typename _Tp>
-    struct add_reference;
-
   /// @brief  array modifications [4.7.3].
   template<typename _Tp>
     struct remove_extent;