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.