Ada.Containers.Indefinite_Hashed_Maps 中 class 宽键的哈希值

Hash for class-wide key in Ada.Containers.Indefinite_Hashed_Maps

我在尝试创建一个不确定的散列映射时遇到了麻烦,因为我想要作为从抽象 class 继承的关键特定对象,所以 Key_Type 是父 class-wide,但我不知道如何处理容器所需的哈希,因为 Hash_Type 是模块化类型。 我如何处理 class 宽密钥的散列?

首先想到的是向 Key_Type 抽象 class 添加一个“哈希”原始函数,以使用该具体类型的组件在每个具体派生密钥类型中实现, 然后让map的Hash函数根据key的实际类型重新调用这个原始的Hash函数。