Смотрите на boost.unordered и структура данных .
Это либо Локаль, либо разные версии для разных магазинов.
Мне вариант Локаль кажется наименьшим объемом работы и, вероятно, будет правильным в 95% случаев ...