0
私は基本的に作成するオブジェクトのリストを持っていますが、その一部は他に依存しています。 各オブジェクトは、それが依存するオブジェクトの「ID」(私の場合は文字列)のリストを保持します。C++のオブジェクト間の依存関係を解決する
これからは、順序付きリストが必要です。最初の要素は依存性のない要素になり、最新のものは最も依存性の高い要素になります。私は、オブジェクトのうち、このリストを取得したいのですが、次のコードからそう...
をこのリストのいずれかによって要素1を取った後、スムーズに動作するはずそれらを作成:
typedef std::string Id;
typedef std::set <ID> Ids;
struct ObjectInformation
{
Id const& getId();
Ids const& getDependencies();
};
std::vector <ObjectInformation> objects;
私はBGLを知っています(ブーストグラフライブラリでも可能ですが、複雑すぎるようですが)
循環依存関係がないと仮定する必要があります。さもなければあなたがしたいことは不可能です。 (つまり、循環性がある場合は、サークル内の何かが、それが依存するものの前に、またはそれと同時に作成する必要があります)。 –