Это самый первый раз когда я хоть что-то спрашиваю на ЛОРе, так что просьба гнилыми помидорами не закидывать :)
Чего хочется: ассоциативного контейнера похожего на unordered_map, но с частично определённым ordering.
Более конкретно. Допустим у нас есть ключ
struct Key {
int field1;
int field2;
int field3;
};
Хотелось бы unordered_map, такого чтобы hash определялся field1 и field2 (collisions будут крайне редки, и макс длина внутри bucket - 5-6, и очень очень редко, при размере таблички ~200k buckets и заполнении меньше 0.5). Но при обходе внутри «группы» (same field1 + field2) очень бы хотелось strict ordering by the last one (field3). Порядок обхода (field1 + field2) не волнует вообще.
Понятно что для любых chained nodes имплементаций это довольно легко делается.
Собственно вопрос: есть чего готового на что можно глянуть, или только самим писать?
fsb4000, Siborgium, сильно расчитываю на Вашу помощь, господа.