clang API Documentation
Provides information a specialization of a member of a class template, which may be a member function, static data member, member class or member enumeration. More...
#include <DeclTemplate.h>
Public Member Functions | |
MemberSpecializationInfo (NamedDecl *IF, TemplateSpecializationKind TSK, SourceLocation POI=SourceLocation()) | |
NamedDecl * | getInstantiatedFrom () const |
Retrieve the member declaration from which this member was instantiated. | |
TemplateSpecializationKind | getTemplateSpecializationKind () const |
Determine what kind of template specialization this is. | |
bool | isExplicitSpecialization () const |
void | setTemplateSpecializationKind (TemplateSpecializationKind TSK) |
Set the template specialization kind. | |
SourceLocation | getPointOfInstantiation () const |
Retrieve the first point of instantiation of this member. If the point of instantiation is an invalid location, then this member has not yet been instantiated. | |
void | setPointOfInstantiation (SourceLocation POI) |
Set the first point of instantiation. |
Provides information a specialization of a member of a class template, which may be a member function, static data member, member class or member enumeration.
Definition at line 399 of file DeclTemplate.h.
clang::MemberSpecializationInfo::MemberSpecializationInfo | ( | NamedDecl * | IF, |
TemplateSpecializationKind | TSK, | ||
SourceLocation | POI = SourceLocation() |
||
) | [inline, explicit] |
Definition at line 409 of file DeclTemplate.h.
References clang::TSK_Undeclared.
NamedDecl* clang::MemberSpecializationInfo::getInstantiatedFrom | ( | ) | const [inline] |
Retrieve the member declaration from which this member was instantiated.
Definition at line 418 of file DeclTemplate.h.
Referenced by getInstantiatedFrom(), clang::EnumDecl::getInstantiatedFromMemberEnum(), and clang::ASTDeclWriter::VisitFunctionDecl().
SourceLocation clang::MemberSpecializationInfo::getPointOfInstantiation | ( | ) | const [inline] |
Retrieve the first point of instantiation of this member. If the point of instantiation is an invalid location, then this member has not yet been instantiated.
Definition at line 439 of file DeclTemplate.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::CheckMemberSpecialization(), clang::Sema::InstantiateClassMembers(), clang::EnumDecl::setTemplateSpecializationKind(), clang::ASTWriter::StaticDataMemberInstantiated(), and clang::ASTDeclWriter::VisitFunctionDecl().
TemplateSpecializationKind clang::MemberSpecializationInfo::getTemplateSpecializationKind | ( | ) | const [inline] |
Determine what kind of template specialization this is.
Definition at line 421 of file DeclTemplate.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::CheckMemberSpecialization(), clang::FunctionDecl::getTemplateSpecializationKind(), clang::Sema::InstantiateClassMembers(), isExplicitSpecialization(), clang::Sema::RequireCompleteDeclContext(), and clang::ASTDeclWriter::VisitFunctionDecl().
bool clang::MemberSpecializationInfo::isExplicitSpecialization | ( | ) | const [inline] |
Definition at line 425 of file DeclTemplate.h.
References getTemplateSpecializationKind(), and clang::TSK_ExplicitSpecialization.
Referenced by getInstantiatedFrom().
void clang::MemberSpecializationInfo::setPointOfInstantiation | ( | SourceLocation | POI | ) | [inline] |
Set the first point of instantiation.
Definition at line 444 of file DeclTemplate.h.
Referenced by clang::Sema::InstantiateClass(), clang::Sema::InstantiateClassMembers(), clang::EnumDecl::setTemplateSpecializationKind(), clang::ASTDeclReader::VisitCXXRecordDeclImpl(), clang::ASTDeclReader::VisitEnumDecl(), and clang::ASTDeclReader::VisitFunctionDecl().
void clang::MemberSpecializationInfo::setTemplateSpecializationKind | ( | TemplateSpecializationKind | TSK | ) | [inline] |
Set the template specialization kind.
Definition at line 430 of file DeclTemplate.h.
References clang::TSK_Undeclared.
Referenced by clang::Sema::InstantiateClass(), clang::Sema::InstantiateClassMembers(), and clang::EnumDecl::setTemplateSpecializationKind().