13 std::string description;
14 std::optional<std::vector<std::string>> suggestedFixes;
15 bool isBlocking{
true };
18 std::string GetDetailedDescription()
const {
20 auto it = std::back_inserter(buffer);
22 std::format_to(it,
"{}: {}", problem, description);
24 if (suggestedFixes && !suggestedFixes->empty()) {
25 std::format_to(it,
"\n Suggestions:");
26 for (
const auto& fix : *suggestedFixes) {
27 std::format_to(it,
"\n - ", fix);
40 std::unordered_map<UniqueId, std::vector<DependencyIssue>> issues;
43 std::unordered_map<UniqueId, std::vector<UniqueId>> dependencyGraph;
44 std::unordered_map<UniqueId, std::vector<UniqueId>> reverseDependencyGraph;
48 std::vector<UniqueId> loadOrder;
49 bool isLoadOrderValid{
false };