+static inline bool operator==(const wxTimerKey& tk1, const wxTimerKey& tk2)
+{
+ return tk1.m_hwnd == tk2.m_hwnd && tk1.m_id == tk2.m_id;
+}
+
+struct wxTimerKeyHash
+{
+ wxTimerKeyHash() { }
+ unsigned long operator()(const wxTimerKey& tk) const
+ { return (unsigned long)tk.m_hwnd + tk.m_id; }
+
+ wxTimerKeyHash& operator=(const wxTimerKeyHash&) { return *this; }
+};
+
+struct wxTimerKeyEqual
+{
+ wxTimerKeyEqual() { }
+ bool operator()(const wxTimerKey& tk1, const wxTimerKey& tk2) const
+ { return tk1 == tk2; }
+
+ wxTimerKeyEqual& operator=(const wxTimerKeyEqual&) { return *this; }
+};
+
+WX_DECLARE_HASH_MAP(wxTimerKey, wxTimer *, wxTimerKeyHash, wxTimerKeyEqual,
+ wxTimerMap);
+
+static wxTimerMap g_timerMap;