From 0613b80c171f77425226621886e9160f6767ad30 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 10 Feb 2004 22:11:14 +0000 Subject: [PATCH] added wxStaticCast, moved wxConstCast from wx/object.h to wx/defs.h for consistency git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/defs.h | 21 ++++++++++++++++++--- include/wx/object.h | 7 ------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/include/wx/defs.h b/include/wx/defs.h index 8231ab2b64..8d58b43bfa 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -266,8 +266,8 @@ typedef int wxWindowID; #define wxEXPLICIT #endif /* HAVE_EXPLICIT/!HAVE_EXPLICIT */ -/* check for static/const/reinterpret_cast<>() */ -#ifndef HAVE_STATIC_CAST +/* check for static/const_cast<>() (we don't use the other ones for now) */ +#ifndef HAVE_CXX_CASTS #if defined(__VISUALC__) && (__VISUALC__ >= 1100) /* VC++ 6.0 and 5.0 have C++ casts (what about earlier versions?) */ #define HAVE_CXX_CASTS @@ -276,14 +276,29 @@ typedef int wxWindowID; /* GCC 2.95 has C++ casts, what about earlier versions? */ #define HAVE_CXX_CASTS #endif -#endif /* HAVE_STATIC_CAST */ +#endif /* !HAVE_CXX_CASTS */ #ifdef HAVE_CXX_CASTS #ifndef HAVE_CONST_CAST #define HAVE_CONST_CAST #endif + #ifndef HAVE_STATIC_CAST + #define HAVE_STATIC_CAST + #endif #endif /* HAVE_CXX_CASTS */ +#ifdef HAVE_CONST_CAST + #define wxConstCast(obj, className) const_cast(obj) +#else + #define wxConstCast(obj, className) ((className *)(obj)) +#endif + +#ifdef HAVE_STATIC_CAST + #define wxStaticCast(val, type) static_cast(val) +#else + #define wxStaticCast(val, type) ((type)(val)) +#endif + #ifndef HAVE_STD_WSTRING #if defined(__VISUALC__) && (__VISUALC__ >= 1100) /* VC++ 6.0 and 5.0 have std::wstring (what about earlier versions?) */ diff --git a/include/wx/object.h b/include/wx/object.h index bc0824541b..acf4956d16 100644 --- a/include/wx/object.h +++ b/include/wx/object.h @@ -340,13 +340,6 @@ name##PluginSentinel m_pluginsentinel; #define wxDynamicCastThis(className) \ (IsKindOf(&className::ms_classInfo) ? (className *)(this) : (className *)0) -#ifdef HAVE_CONST_CAST -#define wxConstCast(obj, className) const_cast(obj) -#else -#define wxConstCast(obj, className) ((className *)(obj)) -#endif - - #ifdef __WXDEBUG__ inline void* wxCheckCast(void *ptr) { -- 2.45.2