summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2021-01-06 10:55:56 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2021-01-22 20:45:18 (GMT)
commit62e58020a6fcbce9c1170b69dfee5d8769f14778 (patch)
tree3d8aa32c74615ed6d5778fa8dc76922ecc66b842 /src/doxygen.cpp
parent0aa907761f5f29032b01ea2d8373bbc6c53f5e7c (diff)
downloadDoxygen-62e58020a6fcbce9c1170b69dfee5d8769f14778.zip
Doxygen-62e58020a6fcbce9c1170b69dfee5d8769f14778.tar.gz
Doxygen-62e58020a6fcbce9c1170b69dfee5d8769f14778.tar.bz2
Refactoring: modernize ClassDef::getTemplateInstances()
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp26
1 files changed, 8 insertions, 18 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 27da315..4e3d552 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -4840,19 +4840,16 @@ static void computeTemplateClassRelations()
bName=stripTemplateSpecifiersFromScope(bName);
ClassDefMutable *cd=getClassMutable(bName);
// strip any anonymous scopes first
- QDict<ClassDef> *templInstances = 0;
- if (cd && (templInstances=cd->getTemplateInstances()))
+ if (cd && !cd->getTemplateInstances().empty())
{
Debug::print(Debug::Classes,0," Template class %s : \n",qPrint(cd->name()));
- QDictIterator<ClassDef> tdi(*templInstances);
- ClassDef *itcd;
- for (tdi.toFirst();(itcd=tdi.current());++tdi) // for each template instance
+ for (const auto &ti : cd->getTemplateInstances()) // for each template instance
{
- ClassDefMutable *tcd=toClassDefMutable(itcd);
+ ClassDefMutable *tcd=toClassDefMutable(ti.classDef);
if (tcd)
{
Debug::print(Debug::Classes,0," Template instance %s : \n",qPrint(tcd->name()));
- QCString templSpec = tdi.currentKey();
+ QCString templSpec = ti.templSpec;
std::unique_ptr<ArgumentList> templArgs = stringToArgumentList(tcd->getLanguage(),templSpec);
for (const BaseInfo &bi : root->extends)
{
@@ -7631,19 +7628,12 @@ static void createTemplateInstanceMembers()
for (const auto &cd : *Doxygen::classLinkedMap)
{
// that is a template
- QDict<ClassDef> *templInstances = cd->getTemplateInstances();
- if (templInstances)
+ for (const auto &ti : cd->getTemplateInstances())
{
- QDictIterator<ClassDef> qdi(*templInstances);
- ClassDef *tcd=0;
- // for each instance of the template
- for (qdi.toFirst();(tcd=qdi.current());++qdi)
+ ClassDefMutable *tcdm = toClassDefMutable(ti.classDef);
+ if (tcdm)
{
- ClassDefMutable *tcdm = toClassDefMutable(tcd);
- if (tcdm)
- {
- tcdm->addMembersToTemplateInstance(cd.get(),cd->templateArguments(),qdi.currentKey());
- }
+ tcdm->addMembersToTemplateInstance(cd.get(),cd->templateArguments(),ti.templSpec);
}
}
}