NEPLg2 Standard Library - hash_key - hash_key
Web Playground
Web Playground

hash_key

hash collection が key に要求ようきゅうする能力のうりょく

目的もくてき

  • HashMap / HashSet が key 比較ひかくと hash 計算けいさんを 1 の capability としてれるようにします。
  • 現状げんじょうの言語仕様で multiple trait bound をけないため、Eq + Hash の collection よう capability を明示めいじします。

実装じっそう

  • trait HashKeyclone / eq / hash32要求ようきゅうします。
  • helper hashkey_clone / hashkey_eq / hashkey_hash32 が trait call を集約しゅうやくします。

注意ちゅうい

  • eqhash32整合せいごうしている必要ひつようがあります。
  • custom key は HashKey を impl すれば map/set にせられます。

HashKey

hash collection が key に要求ようきゅうする単一たんいつ capability

hashkey_clone

HashKey trait 経由けいゆで key を複製ふくせいする

hashkey_eq

HashKey trait 経由けいゆで key 比較ひかくする

hashkey_hash32

HashKey trait 経由けいゆで 32-bit hash を