Я хотел бы иметь структуру данных, аналогичную std::map
, с несколькими ключевыми уровнями.Например, в этом my_map:
(‘a’ , “a1”) -> “value1”
(‘a’ , “a2”) -> “value2”
(‘b’ , “b1”) -> “value3”
(‘b’ , “b2”) -> “value4”
Значения ключей первого уровня - это символы: ['a' and 'b']
, а уровни второго ключа - std::string
("a1" и т. Д.), А значения - строки.
Требования к API:
Добавление элементов с использованием двух ключевых значений.Получить элементы по первому ключу: my_map.at_first_level('a')
, это должно вернуть карту вроде:
"a1" -> “value1”
"a2" -> “value2”
Реализована ли структура данных "многоуровневая карта" в какой-либо из библиотек C ++?