]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/meta/convertible.h
Extend history api using the ie backend to include loading history items, and getting...
[wxWidgets.git] / include / wx / meta / convertible.h
index 5a826bc2571c2976f81bfe3df433d718d4824fcb..1b46f7f21dc8d57bd1b13122c2a09e30638683b5 100644 (file)
@@ -8,19 +8,32 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef _WX_CONVERTIBLE_H_
-#define _WX_CONVERTIBLE_H_
+#ifndef _WX_META_CONVERTIBLE_H_
+#define _WX_META_CONVERTIBLE_H_
+
+//
+// Introduce an extra class to make this header compilable with g++3.2
+//
+template <class D, class B>
+struct wxConvertibleTo_SizeHelper
+{
+    static char Match(B* pb);
+    static int  Match(...);
+};
 
 // Helper to decide if an object of type D is convertible to type B (the test
 // succeeds in particular when D derives from B)
 template <class D, class B>
 struct wxConvertibleTo
 {
-    static char Match(B* pb);
-    static int Match(...);
-
-    enum { value = sizeof(Match(static_cast<D*>(NULL))) == sizeof(char) };
+    enum
+    {
+        value =
+            sizeof(wxConvertibleTo_SizeHelper<D,B>::Match(static_cast<D*>(NULL)))
+            ==
+            sizeof(char)
+    };
 };
 
-#endif // _WX_CONVERTIBLE_H_
+#endif // _WX_META_CONVERTIBLE_H_