Browse Source

Specialize std::hash for ptid_t

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-14-branch
Tom Tromey 3 years ago
parent
commit
9a343d2bb5
  1. 2
      gdb/inferior.h
  2. 2
      gdb/regcache.c
  3. 5
      gdbsupport/ptid.h

2
gdb/inferior.h

@ -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:

2
gdb/regcache.c

@ -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. */

5
gdbsupport/ptid.h

@ -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
{

Loading…
Cancel
Save