Реализация простого ассоциативного массива ограниченного размера, который будет работать на этапе компиляции. Его интерфейс приведен в файле constexpr_map.h. Вставка в этот массив производится с помощью оператора []. Если массив уже заполнен, то выбрасывается исключение. Константная версия этого
оператора в случае отсутствия переданного ключа также бросает исключение.
Ассоциативный массив сохраняет порядок вставки т.е. значения, возвращаемые GetByIndex соответствуют порядку вставки.
Также реализована функция Sort, которая приведена в sort.h. Она принимает ассоциативный массив и возвращает новую версию, в которой ключи отсортированы по возрастанию. Если при этом тип ключа является интегральным типом, то сортировка происходит по убыванию. Сортировка также происходит на этапе компиляции.