clang 20.0.0git
Public Member Functions | List of all members
clang::MemberSpecializationInfo Class Reference

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 "clang/AST/DeclTemplate.h"

Public Member Functions

 MemberSpecializationInfo (NamedDecl *IF, TemplateSpecializationKind TSK, SourceLocation POI=SourceLocation())
 
NamedDeclgetInstantiatedFrom () 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.
 
void setPointOfInstantiation (SourceLocation POI)
 Set the first point of instantiation.
 

Detailed Description

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 615 of file DeclTemplate.h.

Constructor & Destructor Documentation

◆ MemberSpecializationInfo()

clang::MemberSpecializationInfo::MemberSpecializationInfo ( NamedDecl IF,
TemplateSpecializationKind  TSK,
SourceLocation  POI = SourceLocation() 
)
inlineexplicit

Definition at line 625 of file DeclTemplate.h.

References clang::TSK_Undeclared.

Member Function Documentation

◆ getInstantiatedFrom()

NamedDecl * clang::MemberSpecializationInfo::getInstantiatedFrom ( ) const
inline

Retrieve the member declaration from which this member was instantiated.

Definition at line 634 of file DeclTemplate.h.

Referenced by clang::EnumDecl::getInstantiatedFromMemberEnum(), clang::FunctionDecl::getTemplateInstantiationPattern(), and clang::ASTDeclWriter::VisitFunctionDecl().

◆ getPointOfInstantiation()

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 655 of file DeclTemplate.h.

Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::CheckMemberSpecialization(), clang::ASTNodeImporter::ImportTemplateInformation(), clang::Sema::InstantiateClassMembers(), clang::EnumDecl::setTemplateSpecializationKind(), and clang::ASTDeclWriter::VisitFunctionDecl().

◆ getTemplateSpecializationKind()

TemplateSpecializationKind clang::MemberSpecializationInfo::getTemplateSpecializationKind ( ) const
inline

◆ isExplicitSpecialization()

bool clang::MemberSpecializationInfo::isExplicitSpecialization ( ) const
inline

◆ setPointOfInstantiation()

void clang::MemberSpecializationInfo::setPointOfInstantiation ( SourceLocation  POI)
inline

◆ setTemplateSpecializationKind()

void clang::MemberSpecializationInfo::setTemplateSpecializationKind ( TemplateSpecializationKind  TSK)
inline

Set the template specialization kind.

Definition at line 646 of file DeclTemplate.h.

References clang::TSK_Undeclared.

Referenced by clang::Sema::InstantiateClass(), clang::Sema::InstantiateClassMembers(), and clang::EnumDecl::setTemplateSpecializationKind().


The documentation for this class was generated from the following file: