Пакет Ada.Containers.Indefinite_Hashed_Maps поддерживает типы, которые являются неопределенными для ключа и элемента. Неопределенный тип - это тип, который нуждается в дополнительном ограничении для объявления объекта. Пример: String, T'Class, тип с вариантной частью.
Реализация Hashed_Maps может хранить ключ и элемент в записях реализации карты (будь то таблица или дерево). Это наиболее эффективная реализация между двумя.
Indefinite_Hashed_Maps не может хранить ключ и элемент так же легко из-за дополнительного ограничения. Большая часть реализации будет использовать доступ к ключу и элементу
хранить их. Каждый раз, когда добавляется элемент, для хранения ключа и элемента требуется дополнительное выделение памяти.
Хотя Indefinite_Hashed_Maps работает для конечных типов, лучше использовать Hashed_Maps, если ключи и типы элементов являются определенными.