Add 'unflatten' to doxygen/dot processing
[senf.git] / Utils / type_traits.hh
index 8ee2429..dd9ddb2 100644 (file)
@@ -23,8 +23,8 @@
 /** \file
     \brief type_traits public header */
 
-#ifndef HH_type_traits_
-#define HH_type_traits_ 1
+#ifndef HH_SENF_Utils_type_traits_
+#define HH_SENF_Utils_type_traits_ 1
 
 // Custom includes
 #include <boost/type_traits/function_traits.hpp>
@@ -117,7 +117,7 @@ namespace senf
         >::value ));
         \endcode
 
-        \tparam MemberPointer type to return member pointer from
+        \tparam MemberPointer type to remove member pointer from
      */
     template < class MemberPointer > struct remove_member_pointer
     {
@@ -131,6 +131,11 @@ namespace senf
         typedef T type;
     };
 
+    template < class C, class T > struct remove_member_pointer <T (C::* const) >
+    {
+        typedef T type;
+    };
+
 #endif
 
     /** \brief Get class of a member pointer
@@ -163,6 +168,11 @@ namespace senf
         typedef C type;
     };
 
+    template < class C, class T > struct member_class <T (C::* const) >
+    {
+        typedef C type;
+    };
+
 #endif
 
     /** \brief Remove any type of pointer from type