clang API Documentation
Declaration of a function specialization at template class scope. More...
#include <DeclTemplate.h>


Public Member Functions | |
| CXXMethodDecl * | getSpecialization () const |
| bool | hasExplicitTemplateArgs () const |
| const TemplateArgumentListInfo & | templateArgs () const |
Static Public Member Functions | |
| static ClassScopeFunctionSpecializationDecl * | Create (ASTContext &C, DeclContext *DC, SourceLocation Loc, CXXMethodDecl *FD, bool HasExplicitTemplateArgs, TemplateArgumentListInfo TemplateArgs) |
| static ClassScopeFunctionSpecializationDecl * | CreateDeserialized (ASTContext &Context, unsigned ID) |
| static bool | classof (const Decl *D) |
| static bool | classofKind (Kind K) |
Friends | |
| class | ASTDeclReader |
| class | ASTDeclWriter |
Declaration of a function specialization at template class scope.
This is a non-standard extension needed to support MSVC.
For example:
template <class T> class A { template <class U> void foo(U a) { } template<> void foo(int a) { } }
"template<> foo(int a)" will be saved in Specialization as a normal CXXMethodDecl. Then during an instantiation of class A, it will be transformed into an actual function specialization.
Definition at line 2187 of file DeclTemplate.h.
| static bool clang::ClassScopeFunctionSpecializationDecl::classof | ( | const Decl * | D | ) | [inline, static] |
Definition at line 2223 of file DeclTemplate.h.
References classofKind(), and clang::Decl::getKind().
| static bool clang::ClassScopeFunctionSpecializationDecl::classofKind | ( | Kind | K | ) | [inline, static] |
Reimplemented from clang::Decl.
Definition at line 2224 of file DeclTemplate.h.
Referenced by classof().
| static ClassScopeFunctionSpecializationDecl* clang::ClassScopeFunctionSpecializationDecl::Create | ( | ASTContext & | C, |
| DeclContext * | DC, | ||
| SourceLocation | Loc, | ||
| CXXMethodDecl * | FD, | ||
| bool | HasExplicitTemplateArgs, | ||
| TemplateArgumentListInfo | TemplateArgs | ||
| ) | [inline, static] |
Definition at line 2209 of file DeclTemplate.h.
References AttributeLangSupport::C.
Referenced by clang::Sema::ActOnFunctionDeclarator().
| ClassScopeFunctionSpecializationDecl * ClassScopeFunctionSpecializationDecl::CreateDeserialized | ( | ASTContext & | Context, |
| unsigned | ID | ||
| ) | [static] |
Definition at line 916 of file DeclTemplate.cpp.
References AttributeLangSupport::C.
| CXXMethodDecl* clang::ClassScopeFunctionSpecializationDecl::getSpecialization | ( | ) | const [inline] |
Definition at line 2205 of file DeclTemplate.h.
Referenced by clang::ASTDeclWriter::VisitClassScopeFunctionSpecializationDecl().
| bool clang::ClassScopeFunctionSpecializationDecl::hasExplicitTemplateArgs | ( | ) | const [inline] |
Definition at line 2206 of file DeclTemplate.h.
| const TemplateArgumentListInfo& clang::ClassScopeFunctionSpecializationDecl::templateArgs | ( | ) | const [inline] |
Definition at line 2207 of file DeclTemplate.h.
friend class ASTDeclReader [friend] |
Reimplemented from clang::Decl.
Definition at line 2228 of file DeclTemplate.h.
friend class ASTDeclWriter [friend] |
Reimplemented from clang::Decl.
Definition at line 2229 of file DeclTemplate.h.