summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2020-05-04 11:30:16 (GMT)
committeralbert-github <albert.tests@gmail.com>2020-05-04 11:30:16 (GMT)
commit0488cb553e8a1e42b774a7fab4915f494a848225 (patch)
treef64849ec548782ba2211060b635971fb4974988f /src/doxygen.cpp
parent82cb93c033c83b5a184cd450d86b0f712e0870b3 (diff)
downloadDoxygen-0488cb553e8a1e42b774a7fab4915f494a848225.zip
Doxygen-0488cb553e8a1e42b774a7fab4915f494a848225.tar.gz
Doxygen-0488cb553e8a1e42b774a7fab4915f494a848225.tar.bz2
issue #7747 Three-way comparison operator
Implementation of the C++2x three-way / spaceship operator.
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 0728d8f..820b8fc 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -3018,10 +3018,12 @@ static void addMethodToClass(const Entry *root,ClassDef *cd,
else mtype=MemberType_Function;
// strip redundant template specifier for constructors
+ int j = -1;
if ((fd==0 || fd->getLanguage()==SrcLangExt_Cpp) &&
- name.left(9)!="operator " && (i=name.find('<'))!=-1 && name.find('>')!=-1)
+ name.left(9)!="operator " && (i=name.find('<'))!=-1 && (j=name.find('>'))!=-1)
{
- name=name.left(i);
+ // only remove incase not three way comparison operator / spaceship operator: <=>
+ if (!((j == i+2) && (name.at(i+1) == '='))) name=name.left(i);
}
QCString fileName = root->fileName;