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