[hash] Add hash impl for integers

Part of https://github.com/harfbuzz/harfbuzz/issues/4227
pull/4228/head
Behdad Esfahbod 2 years ago
parent b7a8d23bc8
commit 0e02680803
  1. 6
      src/hb-algs.hh

@ -236,7 +236,11 @@ struct
private:
template <typename T> constexpr auto
impl (const T& v, hb_priority<1>) const HB_RETURN (uint32_t, hb_deref (v).hash ())
impl (const T& v, hb_priority<2>) const HB_RETURN (uint32_t, hb_deref (v).hash ())
// Horrible: std:hash() of integers seems to be identity in gcc / clang?!
template <typename T> constexpr auto
impl (const T& v, hb_priority<1>) const HB_RETURN (uint32_t, v * 2654435761u)
template <typename T> constexpr auto
impl (const T& v, hb_priority<0>) const HB_RETURN (uint32_t, std::hash<hb_decay<decltype (hb_deref (v))>>{} (hb_deref (v)))

Loading…
Cancel
Save