clang 20.0.0git
|
#include "clang/AST/DeclTemplate.h"
Public Member Functions | |
ClassTemplatePartialSpecializationDecl * | getMostRecentDecl () |
TemplateParameterList * | getTemplateParameters () const |
Get the list of template parameters. | |
ArrayRef< TemplateArgument > | getInjectedTemplateArgs (const ASTContext &Context) const |
Get the template argument list of the template parameter list. | |
void | getAssociatedConstraints (llvm::SmallVectorImpl< const Expr * > &AC) const |
All associated constraints of this partial specialization, including the requires clause and any constraints derived from constrained-parameters. | |
bool | hasAssociatedConstraints () const |
ClassTemplatePartialSpecializationDecl * | getInstantiatedFromMember () const |
Retrieve the member class template partial specialization from which this particular class template partial specialization was instantiated. | |
ClassTemplatePartialSpecializationDecl * | getInstantiatedFromMemberTemplate () const |
void | setInstantiatedFromMember (ClassTemplatePartialSpecializationDecl *PartialSpec) |
bool | isMemberSpecialization () const |
Determines whether this class template partial specialization template was a specialization of a member partial specialization. | |
void | setMemberSpecialization () |
Note that this member template is a specialization. | |
QualType | getInjectedSpecializationType () const |
Retrieves the injected specialization type for this partial specialization. | |
SourceRange | getSourceRange () const override LLVM_READONLY |
Source range that this declaration covers. | |
void | Profile (llvm::FoldingSetNodeID &ID) const |
![]() | |
void | getNameForDiagnostic (raw_ostream &OS, const PrintingPolicy &Policy, bool Qualified) const override |
Appends a human-readable name for this declaration into the given stream. | |
ClassTemplateSpecializationDecl * | getMostRecentDecl () |
ClassTemplateDecl * | getSpecializedTemplate () const |
Retrieve the template that this specialization specializes. | |
const TemplateArgumentList & | getTemplateArgs () const |
Retrieve the template arguments of the class template specialization. | |
void | setTemplateArgs (TemplateArgumentList *Args) |
TemplateSpecializationKind | getSpecializationKind () const |
Determine the kind of specialization that this declaration represents. | |
bool | isExplicitSpecialization () const |
bool | isClassScopeExplicitSpecialization () const |
Is this an explicit specialization at class scope (within the class that owns the primary template)? For example: | |
bool | isExplicitInstantiationOrSpecialization () const |
True if this declaration is an explicit specialization, explicit instantiation declaration, or explicit instantiation definition. | |
void | setSpecializedTemplate (ClassTemplateDecl *Specialized) |
void | setSpecializationKind (TemplateSpecializationKind TSK) |
SourceLocation | getPointOfInstantiation () const |
Get the point of instantiation (if any), or null if none. | |
void | setPointOfInstantiation (SourceLocation Loc) |
llvm::PointerUnion< ClassTemplateDecl *, ClassTemplatePartialSpecializationDecl * > | getInstantiatedFrom () const |
If this class template specialization is an instantiation of a template (rather than an explicit specialization), return the class template or class template partial specialization from which it was instantiated. | |
llvm::PointerUnion< ClassTemplateDecl *, ClassTemplatePartialSpecializationDecl * > | getSpecializedTemplateOrPartial () const |
Retrieve the class template or class template partial specialization which was specialized by this. | |
const TemplateArgumentList & | getTemplateInstantiationArgs () const |
Retrieve the set of template arguments that should be used to instantiate members of the class template or class template partial specialization from which this class template specialization was instantiated. | |
void | setInstantiationOf (ClassTemplatePartialSpecializationDecl *PartialSpec, const TemplateArgumentList *TemplateArgs) |
Note that this class template specialization is actually an instantiation of the given class template partial specialization whose template arguments have been deduced. | |
void | setInstantiationOf (ClassTemplateDecl *TemplDecl) |
Note that this class template specialization is an instantiation of the given class template. | |
const ASTTemplateArgumentListInfo * | getTemplateArgsAsWritten () const |
Retrieve the template argument list as written in the sources, if any. | |
void | setTemplateArgsAsWritten (const ASTTemplateArgumentListInfo *ArgsWritten) |
Set the template argument list as written in the sources. | |
void | setTemplateArgsAsWritten (const TemplateArgumentListInfo &ArgsInfo) |
Set the template argument list as written in the sources. | |
SourceLocation | getExternKeywordLoc () const |
Gets the location of the extern keyword, if present. | |
void | setExternKeywordLoc (SourceLocation Loc) |
Sets the location of the extern keyword. | |
SourceLocation | getTemplateKeywordLoc () const |
Gets the location of the template keyword, if present. | |
void | setTemplateKeywordLoc (SourceLocation Loc) |
Sets the location of the template keyword. | |
SourceRange | getSourceRange () const override LLVM_READONLY |
Source range that this declaration covers. | |
void |