From 73127b5d8d36b3cec8df662d4e84d2109bb195d9 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sat, 2 Jan 2021 21:40:08 +0100 Subject: Refactoring: moderize Doxygen::dirRelations --- src/dirdef.cpp | 4 +--- src/dirdef.h | 4 ++++ src/dotdirdeps.cpp | 9 +++------ src/doxygen.cpp | 3 +-- src/doxygen.h | 4 ++-- 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::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 { }; +class DirRelationLinkedMap : public LinkedMap +{ +}; + // ------------------ 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( + 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 *Doxygen::lookupCache; DirLinkedMap *Doxygen::dirLinkedMap; -SDict 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 *lookupCache; static DirLinkedMap *dirLinkedMap; - static SDict dirRelations; + static DirRelationLinkedMap dirRelations; static ParserManager *parserManager; static bool suppressDocWarnings; static QCString filterDBFileName; -- cgit v0.12