Алгоритмы для универсальных контейнеров в Ada

Есть ли библиотека Ada, которая реализует общие алгоритмы для универсальных контейнеров, например Delete_If, Count_If, так далее.? Для тех, кто знает C++, я ищу что-то похожее на C++ STL.

2 ответа

Решение

Хотя это почти наверняка было заменено Ada.Containers в Ada-2005/2012 вас может заинтересовать предшественник Ada STL, прежде чем Степанов преобразовал его в C++.

Это было опубликовано сегодня на comp.lang.ada.

Если вы перейдете к документам Алекса Степанова и прокрутите вниз до раздела "Исходный код", третья ссылка будет на "Дэвид Р. Муссер и Александр А. Степанов: универсальная библиотека Ada" в виде zip-файла, распакованного файла и файла readme.

Как представляется, это относится к компилятору Ada VAX/VMS и датируется 1989 годом, он может представлять только исторический интерес, и могут потребоваться некоторые усилия для его создания с использованием Gnat, не говоря уже об использовании его в ваших целях.

В то время как "вопросы, которые мы просим порекомендовать или найти… библиотеку программного обеспечения… не по теме", Ada.Containers, описанный в §18 Справочного руководства Ada, вероятно, обеспечит лучший эквивалент элементам стандартной библиотеки шаблонов. Каждый тип контейнера использует экземпляр Ada.Iterator_Interfaces в Iterate через контейнер, вызывая любой предикат (find, count и т. д.), определенный в вашей реализации Process, См. §A.18.32 Пример использования контейнера и §8.3. Итерация и обновление контейнеров для получения подробной информации.

Другие вопросы по тегам