我基本上有一个要创建的对象列表,但其中一些依赖于其他对象。每个对象都包含一个它所依赖的对象的“ID”列表(在我的例子中是字符串)。
从那里我只需要一个有序列表,其中第一个元素将是没有依赖关系的元素,而最新的元素将是最依赖的元素。在此列表中逐个获取元素并创建它们应该可以顺利进行......
所以从下面的代码中,我想从对象中得到这个列表:
typedef std::string Id;
typedef std::set < ID > Ids;
struct ObjectInformation
{
Id const& getId();
Ids const& getDependencies();
};
std::vector < ObjectInformation > objects;
我知道BGL(boost图形库可以做到,但是好像有点太复杂了