X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0fb0ecc4528966916edd520aeb2acc1a69aadd3b..0555b2a0a3c509687e7fc5aeb160f5171b7e6311:/include/wx/meta/convertible.h diff --git a/include/wx/meta/convertible.h b/include/wx/meta/convertible.h index 5a826bc257..1b46f7f21d 100644 --- a/include/wx/meta/convertible.h +++ b/include/wx/meta/convertible.h @@ -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 +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 struct wxConvertibleTo { - static char Match(B* pb); - static int Match(...); - - enum { value = sizeof(Match(static_cast(NULL))) == sizeof(char) }; + enum + { + value = + sizeof(wxConvertibleTo_SizeHelper::Match(static_cast(NULL))) + == + sizeof(char) + }; }; -#endif // _WX_CONVERTIBLE_H_ +#endif // _WX_META_CONVERTIBLE_H_