Commit 1d0c9b6f authored by Dimitri van Heesch's avatar Dimitri van Heesch

Bug 721618 - Move contructors and move assignment operators of embedded...

Bug 721618 - Move contructors and move assignment operators of embedded classes of template classes cannot be matched.
parent 1bfacc3b
...@@ -5567,6 +5567,15 @@ static bool isSpecialization( ...@@ -5567,6 +5567,15 @@ static bool isSpecialization(
return FALSE; return FALSE;
} }
static bool scopeIsTemplate(Definition *d)
{
bool result=FALSE;
if (d && d->definitionType()==Definition::TypeClass)
{
result = ((ClassDef*)d)->templateArguments() || scopeIsTemplate(d->getOuterScope());
}
return result;
}
static QCString substituteTemplatesInString( static QCString substituteTemplatesInString(
const QList<ArgumentList> &srcTempArgLists, const QList<ArgumentList> &srcTempArgLists,
...@@ -6154,7 +6163,7 @@ static void findMember(EntryNav *rootNav, ...@@ -6154,7 +6163,7 @@ static void findMember(EntryNav *rootNav,
matching = FALSE; matching = FALSE;
} }
} }
bool classIsTemplate = md->getClassDef() && md->getClassDef()->templateArguments(); bool classIsTemplate = scopeIsTemplate(md->getClassDef());
bool mdIsTemplate = md->templateArguments()!=0; bool mdIsTemplate = md->templateArguments()!=0;
bool classOrMdIsTemplate = mdIsTemplate || classIsTemplate; bool classOrMdIsTemplate = mdIsTemplate || classIsTemplate;
bool rootIsTemplate = root->tArgLists!=0; bool rootIsTemplate = root->tArgLists!=0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment