mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 12:07:45 +00:00
AK: Make Traits<T*> use ptr_hash() and not assume 32-bit pointers
As a nice bonus, it also simplifies the code quite a bit.
This commit is contained in:
parent
ad328f852b
commit
8776f424ac
1 changed files with 2 additions and 6 deletions
|
@ -36,13 +36,9 @@ requires(IsIntegral<T>) struct Traits<T> : public GenericTraits<T> {
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
struct Traits<T*> : public GenericTraits<T*> {
|
requires(IsPointer<T>) struct Traits<T> : public GenericTraits<T> {
|
||||||
static unsigned hash(const T* p)
|
static unsigned hash(T p) { return ptr_hash((FlatPtr)p); }
|
||||||
{
|
|
||||||
return int_hash((unsigned)(__PTRDIFF_TYPE__)p);
|
|
||||||
}
|
|
||||||
static constexpr bool is_trivial() { return true; }
|
static constexpr bool is_trivial() { return true; }
|
||||||
static bool equals(const T* a, const T* b) { return a == b; }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue