diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2017-01-30 04:38:28 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2017-01-30 04:38:28 +0000 |
commit | a20c033fff75dd646149ff39536609b795eab81f (patch) | |
tree | f2877a6394bf2f2f8cb241a4b6cca5d1d6fa4917 /include/clang/AST/DeclTemplate.h | |
parent | d3d136e37c04ee173b3298991c98474471d05412 (diff) |
Towards P0091R3: parsing support for class template argument deduction in typename-specifiers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@293455 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/AST/DeclTemplate.h')
-rw-r--r-- | include/clang/AST/DeclTemplate.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/clang/AST/DeclTemplate.h b/include/clang/AST/DeclTemplate.h index dc50a190de..761d3cedc7 100644 --- a/include/clang/AST/DeclTemplate.h +++ b/include/clang/AST/DeclTemplate.h @@ -2946,6 +2946,16 @@ inline NamedDecl *getAsNamedDecl(TemplateParameter P) { return P.get<TemplateTemplateParmDecl*>(); } +inline TemplateDecl *getAsTypeTemplateDecl(Decl *D) { + auto *TD = dyn_cast<TemplateDecl>(D); + return TD && (isa<ClassTemplateDecl>(TD) || + isa<ClassTemplatePartialSpecializationDecl>(TD) || + isa<TypeAliasTemplateDecl>(TD) || + isa<TemplateTemplateParmDecl>(TD)) + ? TD + : nullptr; +} + } /* end of namespace clang */ #endif |