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. | |
| 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 360 of file DeclTemplate.h.
| clang::MemberSpecializationInfo::MemberSpecializationInfo | ( | NamedDecl * | IF, |
| TemplateSpecializationKind | TSK, | ||
| SourceLocation | POI = SourceLocation() |
||
| ) | [inline, explicit] |
Definition at line 370 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 379 of file DeclTemplate.h.
Referenced by clang::EnumDecl::getInstantiatedFromMemberEnum(), clang::ASTDeclWriter::VisitFunctionDecl(), and clang::ASTDeclWriter::VisitVarDecl().
| 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 396 of file DeclTemplate.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::CheckMemberSpecialization(), DoMarkVarDeclReferenced(), clang::Sema::InstantiateClassMembers(), clang::Sema::InstantiateStaticDataMemberDefinition(), clang::Sema::RequireCompleteExprType(), clang::VarDecl::setTemplateSpecializationKind(), clang::EnumDecl::setTemplateSpecializationKind(), clang::ASTWriter::StaticDataMemberInstantiated(), clang::ASTDeclWriter::VisitFunctionDecl(), and clang::ASTDeclWriter::VisitVarDecl().
| TemplateSpecializationKind clang::MemberSpecializationInfo::getTemplateSpecializationKind | ( | ) | const [inline] |
Determine what kind of template specialization this is.
Definition at line 382 of file DeclTemplate.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::CheckMemberSpecialization(), DoMarkVarDeclReferenced(), clang::FunctionDecl::getTemplateSpecializationKind(), clang::Sema::InstantiateClassMembers(), clang::Sema::InstantiateStaticDataMemberDefinition(), clang::Sema::RequireCompleteDeclContext(), clang::Sema::RequireCompleteExprType(), clang::Sema::RequireCompleteType(), clang::ASTDeclWriter::VisitFunctionDecl(), and clang::ASTDeclWriter::VisitVarDecl().
| void clang::MemberSpecializationInfo::setPointOfInstantiation | ( | SourceLocation | POI | ) | [inline] |
Set the first point of instantiation.
Definition at line 401 of file DeclTemplate.h.
Referenced by DoMarkVarDeclReferenced(), clang::Sema::InstantiateClass(), clang::Sema::InstantiateClassMembers(), clang::Sema::RequireCompleteExprType(), clang::VarDecl::setTemplateSpecializationKind(), clang::EnumDecl::setTemplateSpecializationKind(), clang::ASTDeclReader::VisitCXXRecordDecl(), clang::ASTDeclReader::VisitEnumDecl(), and clang::ASTDeclReader::VisitFunctionDecl().
| void clang::MemberSpecializationInfo::setTemplateSpecializationKind | ( | TemplateSpecializationKind | TSK | ) | [inline] |
Set the template specialization kind.
Definition at line 387 of file DeclTemplate.h.
References clang::TSK_Undeclared.
Referenced by clang::Sema::InstantiateClass(), clang::Sema::InstantiateClassMembers(), clang::VarDecl::setTemplateSpecializationKind(), and clang::EnumDecl::setTemplateSpecializationKind().