У меня в основном есть список объектов для создания, но некоторые из них зависят от других.
Каждый объект содержит список «идентификаторов» (в моем случае это строка) объекта, от которого он зависит.
Исходя из этого, мне просто нужен упорядоченный список, где первым элементом будет элемент без зависимости, а последним будет элемент с наибольшей зависимостью. Взяв элемент один за другим в этом списке и создавая их, вы должны работать плавно ...
Итак, из следующего кода я бы хотел получить этот список из объектов:
typedef std::string Id;
typedef std::set < ID > Ids;
struct ObjectInformation
{
Id const& getId();
Ids const& getDependencies();
};
std::vector < ObjectInformation > objects;
Я знаю, BGL (библиотека графов повышения может это сделать, но это кажется слишком сложным