Specialize std::hash for ptid_t
authorTom Tromey <tromey@adacore.com>
Mon, 11 Sep 2023 14:45:37 +0000 (08:45 -0600)
committerTom Tromey <tromey@adacore.com>
Mon, 11 Sep 2023 17:40:40 +0000 (11:40 -0600)
This changes hash_ptid to instead be a specialization of std::hash.
This makes it a little easier to use with standard containers.

Approved-By: Simon Marchi <simon.marchi@efficios.com>
gdb/inferior.h
gdb/regcache.c
gdbsupport/ptid.h

index 04672582984a5842208d32e93d97eec287379495..29c90d15efaead1a1b07e18ece81b9dbce4d1d99 100644 (file)
@@ -462,7 +462,7 @@ public:
 
   /* A map of ptid_t to thread_info*, for average O(1) ptid_t lookup.
      Exited threads do not appear in the map.  */
-  std::unordered_map<ptid_t, thread_info *, hash_ptid> ptid_thread_map;
+  std::unordered_map<ptid_t, thread_info *> ptid_thread_map;
 
   /* Returns a range adapter covering the inferior's threads,
      including exited threads.  Used like this:
index 9b71931bb0bfd2bd4004ffdad310978e5284c45f..91b20b7a2a2f11f27bd45d852bd9812d9b3fa598 100644 (file)
@@ -329,7 +329,7 @@ reg_buffer::assert_regnum (int regnum) const
    regcaches, associated to different gdbarches).  */
 
 using ptid_regcache_map
-  = std::unordered_multimap<ptid_t, regcache_up, hash_ptid>;
+  = std::unordered_multimap<ptid_t, regcache_up>;
 
 /* Type holding regcaches for a given pid.  */
 
index aa296b83181cd02a8131922a598593c988dbb151..f8644d476338ad197034b1cd97f60d75efae0781 100644 (file)
@@ -157,9 +157,8 @@ private:
   tid_type m_tid;
 };
 
-/* Functor to hash a ptid.  */
-
-struct hash_ptid
+template<>
+struct std::hash<ptid_t>
 {
   size_t operator() (const ptid_t &ptid) const
   {