我有一个带有 key_type 和 mapped_type 的 std::map。mapped_type 的每个实例都作为 3 个副本插入到映射中 - 在 3 个不同的键值下。这使我可以根据 3 个键中的任何一个检索值。
但缺点是当我想删除项目时,我需要寻找 3 个键而不是一个,以便摆脱所有 3 个副本。
是否可以将 3 个键组合成一个类并能够将此类对象与 1 个键进行比较,同时保持严格的弱排序?在这种情况下,对于 key_type,operator< 会是什么样子?
编辑:这 3 个键属于同一类型,例如可以使用 3 个不同的整数值访问单个记录(并且这些键值不被任何其他记录使用)。因此,据我了解,Boost.MultiIndex 不是解决此问题的方法。