From c81aea07393c320a930a63eafbc762f7c404b989 Mon Sep 17 00:00:00 2001 From: Jaakko Salli Date: Sat, 21 Nov 2009 09:28:00 +0000 Subject: [PATCH] Unified meaning of wxTypeIdentifier in RTTI and RTTI-less type info systems; Fixed and added some comments git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/typeinfo.h | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/include/wx/typeinfo.h b/include/wx/typeinfo.h index c1efb1b0c9..becacc5547 100644 --- a/include/wx/typeinfo.h +++ b/include/wx/typeinfo.h @@ -14,10 +14,14 @@ // // This file defines wxTypeId macro that should be used internally in // wxWidgets instead of typeid(), for compatibility with builds that do -// not implement C++ RTTI. Also, type defining macros in this file are also +// not implement C++ RTTI. Also, type defining macros in this file are // intended for internal use only at this time and may change in future // versions. // +// The reason why we need this simple RTTI system in addition to the older +// wxObject-based one is that the latter does not work in template +// classes. +// #include "wx/defs.h" @@ -40,20 +44,20 @@ // wxTypeId could of course simply be defined as typeid. // -class wxTypeInfo +class wxTypeIdentifier { public: - wxTypeInfo(const char* className) + wxTypeIdentifier(const char* className) { m_className = className; } - bool operator==(const wxTypeInfo& other) + bool operator==(const wxTypeIdentifier& other) { return strcmp(m_className, other.m_className) == 0; } - bool operator!=(const wxTypeInfo& other) + bool operator!=(const wxTypeIdentifier& other) { return strcmp(m_className, other.m_className) != 0; } @@ -61,7 +65,7 @@ private: const char* m_className; }; -#define wxTypeId(OBJ) wxTypeInfo(typeid(OBJ).name()) +#define wxTypeId(OBJ) wxTypeIdentifier(typeid(OBJ).name()) #else // if !wxNO_RTTI -- 2.45.2