2 #include "util/uuid.hpp"
10 class PoolUpdateNode {
12 PoolUpdateNode(
const UUID &uu,
const std::string &filename,
const std::set<UUID> &dependencies);
15 const std::string filename;
17 std::set<UUID> dependencies;
18 std::set<class PoolUpdateNode *> dependants;
21 class PoolUpdateGraph {
24 void add_node(
const UUID &uu,
const std::string &filename,
const std::set<UUID> &dependencies);
25 void dump(
const std::string &filename);
26 std::set<std::pair<const PoolUpdateNode *, UUID>> update_dependants();
27 std::set<const PoolUpdateNode *> get_not_visited(
const std::set<UUID> &visited);
29 const PoolUpdateNode &get_root()
const;
32 std::map<UUID, PoolUpdateNode> nodes;
33 PoolUpdateNode root_node;