summaryrefslogtreecommitdiffstats
path: root/src/util.h
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-04-24 06:27:22 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-04-24 07:03:09 (GMT)
commit9e2b6a2dac870b5daabde118c5327281e3f79ba2 (patch)
tree39e49bae6eeb116f19be64a19eb9d3ff26a6c36c /src/util.h
parentcd581388f3d013c501e3cefbaf3e81cf93d46fcb (diff)
downloadDoxygen-9e2b6a2dac870b5daabde118c5327281e3f79ba2.zip
Doxygen-9e2b6a2dac870b5daabde118c5327281e3f79ba2.tar.gz
Doxygen-9e2b6a2dac870b5daabde118c5327281e3f79ba2.tar.bz2
Performance improvements after profiling
In some cases performance dropped when upgrading from version 1.8.16 to 1.8.17 or 1.8.18. With these changes the performance should be back to normal again.
Diffstat (limited to 'src/util.h')
-rw-r--r--src/util.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/util.h b/src/util.h
index 98223b1..7518330 100644
--- a/src/util.h
+++ b/src/util.h
@@ -22,6 +22,8 @@
* \brief A bunch of utility functions.
*/
+#include <memory>
+
#include <qlist.h>
#include <ctype.h>
#include "types.h"
@@ -184,8 +186,8 @@ void writePageRef(OutputDocInterface &od,const char *cn,const char *mn);
QCString getCanonicalTemplateSpec(const Definition *d,const FileDef *fs,const QCString& spec);
-bool matchArguments2(const Definition *srcScope,const FileDef *srcFileScope,const ArgumentList &srcAl,
- const Definition *dstScope,const FileDef *dstFileScope,const ArgumentList &dstAl,
+bool matchArguments2(const Definition *srcScope,const FileDef *srcFileScope,const ArgumentList *srcAl,
+ const Definition *dstScope,const FileDef *dstFileScope,const ArgumentList *dstAl,
bool checkCV
);
@@ -308,7 +310,7 @@ QCString normalizeNonTemplateArgumentsInString(
QCString substituteTemplateArgumentsInString(
const QCString &name,
const ArgumentList &formalArgs,
- const ArgumentList &actualArgs);
+ const std::unique_ptr<ArgumentList> &actualArgs);
//QList<ArgumentList> *copyArgumentLists(const QList<ArgumentList> *srcLists);
@@ -410,7 +412,7 @@ const ClassDef *newResolveTypedef(const FileDef *fileScope,
const MemberDef **pMemType=0,
QCString *pTemplSpec=0,
QCString *pResolvedType=0,
- const ArgumentList *actTemplParams=0);
+ const std::unique_ptr<ArgumentList> &actTemplParams=std::unique_ptr<ArgumentList>());
QCString parseCommentAsText(const Definition *scope,const MemberDef *member,const QCString &doc,const QCString &fileName,int lineNr);