summaryrefslogtreecommitdiff
path: root/Source/cmComputeLinkDepends.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmComputeLinkDepends.h')
-rw-r--r--Source/cmComputeLinkDepends.h25
1 files changed, 14 insertions, 11 deletions
diff --git a/Source/cmComputeLinkDepends.h b/Source/cmComputeLinkDepends.h
index dfaaf8b96..645189ad5 100644
--- a/Source/cmComputeLinkDepends.h
+++ b/Source/cmComputeLinkDepends.h
@@ -5,16 +5,18 @@
#include "cmConfigure.h" // IWYU pragma: keep
-#include "cmGraphAdjacencyList.h"
-#include "cmLinkItem.h"
-#include "cmTargetLinkLibraryType.h"
-
#include <map>
-#include <queue>
+#include <memory>
#include <set>
#include <string>
#include <vector>
+#include <queue>
+
+#include "cmGraphAdjacencyList.h"
+#include "cmLinkItem.h"
+#include "cmTargetLinkLibraryType.h"
+
class cmComputeComponentGraph;
class cmGeneratorTarget;
class cmGlobalGenerator;
@@ -43,7 +45,7 @@ public:
bool IsFlag = false;
};
- typedef std::vector<LinkEntry> EntryVector;
+ using EntryVector = std::vector<LinkEntry>;
EntryVector const& Compute();
void SetOldLinkDirMode(bool b);
@@ -105,14 +107,15 @@ private:
};
struct DependSetList : public std::vector<DependSet>
{
+ bool Initialized = false;
};
- std::vector<DependSetList*> InferredDependSets;
+ std::vector<DependSetList> InferredDependSets;
void InferDependencies();
// Ordering constraint graph adjacency list.
- typedef cmGraphNodeList NodeList;
- typedef cmGraphEdgeList EdgeList;
- typedef cmGraphAdjacencyList Graph;
+ using NodeList = cmGraphNodeList;
+ using EdgeList = cmGraphEdgeList;
+ using Graph = cmGraphAdjacencyList;
Graph EntryConstraintGraph;
void CleanConstraintGraph();
void DisplayConstraintGraph();
@@ -137,7 +140,7 @@ private:
std::set<int> Entries;
};
std::map<int, PendingComponent> PendingComponents;
- cmComputeComponentGraph* CCG;
+ std::unique_ptr<cmComputeComponentGraph> CCG;
std::vector<int> FinalLinkOrder;
void DisplayComponents();
void VisitComponent(unsigned int c);