OSDN Git Service

2004-12-10 Paolo Carlini <pcarlini@suse.de>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / include / tr1 / type_traits
index 6b698b0..13d7ebd 100644 (file)
@@ -256,13 +256,35 @@ namespace tr1
 
   /// @brief  const-volatile modifications [4.7.1].
   template<typename _Tp>
-    struct remove_const;
+    struct remove_const
+    {
+      typedef _Tp     type;
+    };
+
+  template<typename _Tp>
+    struct remove_const<_Tp const>
+    {
+      typedef _Tp     type;
+    };
   
   template<typename _Tp>
-    struct remove_volatile;
+    struct remove_volatile
+    {
+      typedef _Tp     type;
+    };
+
+  template<typename _Tp>
+    struct remove_volatile<_Tp volatile>
+    {
+      typedef _Tp     type;
+    };
   
   template<typename _Tp>
-    struct remove_cv;
+    struct remove_cv
+    {
+      typedef typename
+      remove_const<typename remove_volatile<_Tp>::type>::type     type;
+    };
   
   template<typename _Tp>
     struct add_const;