summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/dirdef.cpp4
-rw-r--r--src/dirdef.h4
-rw-r--r--src/dotdirdeps.cpp9
-rw-r--r--src/doxygen.cpp3
-rw-r--r--src/doxygen.h4
5 files changed, 11 insertions, 13 deletions
diff --git a/src/dirdef.cpp b/src/dirdef.cpp
index c8198ab..6f23251 100644
--- a/src/dirdef.cpp
+++ b/src/dirdef.cpp
@@ -1099,9 +1099,7 @@ void generateDirDocs(OutputList &ol)
}
if (Config_getBool(DIRECTORY_GRAPH))
{
- SDict<DirRelation>::Iterator rdi(Doxygen::dirRelations);
- DirRelation *dr;
- for (rdi.toFirst();(dr=rdi.current());++rdi)
+ for (const auto &dr : Doxygen::dirRelations)
{
dr->writeDocumentation(ol);
}
diff --git a/src/dirdef.h b/src/dirdef.h
index 9723fcb..b3f2a30 100644
--- a/src/dirdef.h
+++ b/src/dirdef.h
@@ -162,6 +162,10 @@ class DirList : public std::vector<const DirDef*>
{
};
+class DirRelationLinkedMap : public LinkedMap<DirRelation>
+{
+};
+
// ------------------
void buildDirectories();
diff --git a/src/dotdirdeps.cpp b/src/dotdirdeps.cpp
index 400ffaa..e188a80 100644
--- a/src/dotdirdeps.cpp
+++ b/src/dotdirdeps.cpp
@@ -163,12 +163,9 @@ void writeDotDirDepGraph(FTextStream &t,const DirDef *dd,bool linkRelations)
{
QCString relationName;
relationName.sprintf("dir_%06d_%06d",dir->dirCount(),usedDir->dirCount());
- if (Doxygen::dirRelations.find(relationName)==0)
- {
- // new relation
- Doxygen::dirRelations.append(relationName,
- new DirRelation(relationName,dir,udir.get()));
- }
+ Doxygen::dirRelations.add(relationName,
+ std::make_unique<DirRelation>(
+ relationName,dir,udir.get()));
int nrefs = udir->filePairs().count();
t << " " << dir->getOutputFileBase() << "->"
<< usedDir->getOutputFileBase();
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 1e7a663..257a031 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -148,7 +148,7 @@ ClangUsrMap *Doxygen::clangUsrMap = 0;
bool Doxygen::outputToWizard=FALSE;
Cache<std::string,LookupInfo> *Doxygen::lookupCache;
DirLinkedMap *Doxygen::dirLinkedMap;
-SDict<DirRelation> Doxygen::dirRelations(257);
+DirRelationLinkedMap Doxygen::dirRelations;
ParserManager *Doxygen::parserManager = 0;
QCString Doxygen::htmlFileExtension;
bool Doxygen::suppressDocWarnings = FALSE;
@@ -10168,7 +10168,6 @@ void initDoxygen()
Doxygen::pageLinkedMap = new PageLinkedMap; // all doc pages
Doxygen::exampleLinkedMap = new PageLinkedMap; // all examples
Doxygen::tagDestinationDict.setAutoDelete(TRUE);
- Doxygen::dirRelations.setAutoDelete(TRUE);
Doxygen::indexList = new IndexList;
// initialisation of these globals depends on
diff --git a/src/doxygen.h b/src/doxygen.h
index 86fab10..1886c0e 100644
--- a/src/doxygen.h
+++ b/src/doxygen.h
@@ -53,7 +53,7 @@ class MemberNameLinkedMap;
class FileNameLinkedMap;
class NamespaceLinkedMap;
class NamespaceDef;
-class DirRelation;
+class DirRelationLinkedMap;
class IndexList;
class FormulaList;
class FormulaDict;
@@ -124,7 +124,7 @@ class Doxygen
static bool outputToWizard;
static Cache<std::string,LookupInfo> *lookupCache;
static DirLinkedMap *dirLinkedMap;
- static SDict<DirRelation> dirRelations;
+ static DirRelationLinkedMap dirRelations;
static ParserManager *parserManager;
static bool suppressDocWarnings;
static QCString filterDBFileName;