From: Mattia Barbon Date: Sat, 11 May 2002 08:43:35 +0000 (+0000) Subject: const KEY_T& does not do the right thing for pointers. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/95197553f104ddeef2cc46126d2c867a7c7b0845 const KEY_T& does not do the right thing for pointers. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/hashmap.h b/include/wx/hashmap.h index 33cd821d6d..801a036140 100644 --- a/include/wx/hashmap.h +++ b/include/wx/hashmap.h @@ -363,9 +363,15 @@ public: \ #define _WX_DECLARE_HASH_MAP_KEY_EX( KEY_T, PAIR_T, CLASSNAME, CLASSEXP ) \ CLASSEXP CLASSNAME \ { \ + typedef KEY_T key_type; \ + typedef PAIR_T pair_type; \ + typedef const key_type const_key_type; \ + typedef const pair_type const_pair_type; \ + typedef const_key_type& const_key_reference; \ + typedef const_pair_type& const_pair_reference; \ public: \ CLASSNAME() { } \ - const KEY_T& operator()( const PAIR_T& pair ) const { return pair.first; }\ + const_key_reference operator()( const_pair_reference pair ) const { return pair.first; }\ \ /* the dummy assignment operator is needed to suppress compiler */ \ /* warnings from hash table class' operator=(): gcc complains about */ \