class ClassTemplatePartialSpecializationDecl
Declaration
class ClassTemplatePartialSpecializationDecl
: public ClassTemplateSpecializationDecl { /* full declaration omitted */ };
Description
Represents a class template specialization, which refers to a class template with a given set of template arguments. Class template specializations represent both explicit specialization of class templates, as in the example below, and implicit instantiations of class templates.
Declared at: clang/include/clang/AST/DeclTemplate.h:2101
Inherits from: ClassTemplateSpecializationDecl
Member Variables
- private clang::TemplateParameterList* TemplateParams = nullptr
- The list of template parameters
- private const clang::ASTTemplateArgumentListInfo* ArgsAsWritten = nullptr
- The source info for the template arguments as written. FIXME: redundant with TypeAsWritten?
- private llvm::PointerIntPair< ClassTemplatePartialSpecializationDecl*, 1, bool> InstantiatedFromMember
- The boolean value will be true to indicate that this class template partial specialization was specialized at this level.
Inherited from DeclContext:
- protected
- protected FirstDecl = nullptr
- protected LastDecl = nullptr
Inherited from Decl:
- protected NextInContextAndBits
- protected Access
- protected FromASTFile
- protected IdentifierNamespace
- protected CacheValidAndLinkage
Method Overview
- private ClassTemplatePartialSpecializationDecl(clang::ASTContext & C)
- private ClassTemplatePartialSpecializationDecl(clang::ASTContext & Context, clang::TagDecl::TagKind TK, clang::DeclContext * DC, clang::SourceLocation StartLoc, clang::SourceLocation IdLoc, clang::TemplateParameterList * Params, clang::ClassTemplateDecl * SpecializedTemplate, ArrayRef<clang::TemplateArgument> Args, const clang::ASTTemplateArgumentListInfo * ArgsAsWritten, clang::ClassTemplatePartialSpecializationDecl * PrevDecl)
- public static clang::ClassTemplatePartialSpecializationDecl * Create(clang::ASTContext & Context, clang::TagDecl::TagKind TK, clang::DeclContext * DC, clang::SourceLocation StartLoc, clang::SourceLocation IdLoc, clang::TemplateParameterList * Params, clang::ClassTemplateDecl * SpecializedTemplate, ArrayRef<clang::TemplateArgument> Args, const clang::TemplateArgumentListInfo & ArgInfos, clang::QualType CanonInjectedType, clang::ClassTemplatePartialSpecializationDecl * PrevDecl)
- public static clang::ClassTemplatePartialSpecializationDecl * CreateDeserialized(clang::ASTContext & C, unsigned int ID)
- public static void Profile(llvm::FoldingSetNodeID & ID, ArrayRef<clang::TemplateArgument> TemplateArgs, clang::TemplateParameterList * TPL, clang::ASTContext & Context)
- public void Profile(llvm::FoldingSetNodeID & ID) const
- private void anchor()
- public static bool classof(const clang::Decl * D)
- public static bool classofKind(clang::Decl::Kind K)
- public void getAssociatedConstraints(llvm::SmallVectorImpl<const Expr *> & AC) const
- public clang::QualType getInjectedSpecializationType() const
- public clang::ClassTemplatePartialSpecializationDecl * getInstantiatedFromMember() const
- public clang::ClassTemplatePartialSpecializationDecl * getInstantiatedFromMemberTemplate() const
- public clang::ClassTemplatePartialSpecializationDecl * getMostRecentDecl()
- public const clang::ASTTemplateArgumentListInfo * getTemplateArgsAsWritten() const
- public clang::TemplateParameterList * getTemplateParameters() const
- public bool hasAssociatedConstraints() const
- public bool isMemberSpecialization()
- public void setInstantiatedFromMember(clang::ClassTemplatePartialSpecializationDecl * PartialSpec)
- public void setMemberSpecialization()
Inherited from ClassTemplateSpecializationDecl:
- public Create
- public CreateDeserialized
- public Profile
- public Profile
- public classof
- public classofKind
- public getExternLoc
- public getInstantiatedFrom
- public getMostRecentDecl
- public getNameForDiagnostic
- public getPointOfInstantiation
- public getSourceRange
- public getSpecializationKind
- public getSpecializedTemplate
- public getSpecializedTemplateOrPartial
- public getTemplateArgs
- public getTemplateInstantiationArgs
- public getTemplateKeywordLoc
- public getTypeAsWritten
- public isClassScopeExplicitSpecialization
- public isExplicitInstantiationOrSpecialization
- public isExplicitSpecialization
- public setExternLoc
- public setInstantiationOf
- public setInstantiationOf
- public setPointOfInstantiation
- public setSpecializationKind
- public setSpecializedTemplate
- public setTemplateArgs
- public setTemplateKeywordLoc
- public setTypeAsWritten
Inherited from FoldingSetBase::Node:
Inherited from CXXRecordDecl:
- public Create
- public CreateDeserialized
- public CreateLambda
- public FindBaseClass
- public FindVirtualBaseClass
- public MergeAccess
- public addedEligibleSpecialMemberFunction
- public addedSelectedDestructor
- public allowConstDefaultInit
- public bases
- public bases
- public bases_begin
- public bases_begin
- public bases_end
- public bases_end
- public calculateInheritanceModel
- public capture_size
- public captures
- public captures_begin
- public captures_end
- public classof
- public classofKind
- public completeDefinition
- public completeDefinition
- public conversion_begin
- public conversion_end
- public ctor_begin
- public ctor_end
- public ctors
- public defaultedCopyConstructorIsDeleted
- public defaultedDefaultConstructorIsConstexpr
- public defaultedDestructorIsConstexpr
- public defaultedDestructorIsDeleted
- public defaultedMoveConstructorIsDeleted
- public finishedDefaultedOrDeletedMember
- public forallBases
- public friend_begin
- public friend_end
- public friends
- public getCanonicalDecl
- public getCanonicalDecl
- public getCaptureFields
- public getDefinition
- public getDependentLambdaCallOperator
- public getDescribedClassTemplate
- public getDestructor
- public getDeviceLambdaManglingNumber
- public getFinalOverriders
- public getGenericLambdaTemplateParameterList
- public getIndirectPrimaryBases
- public getInstantiatedFromMemberClass
- public getLambdaCallOperator
- public getLambdaCaptureDefault
- public getLambdaContextDecl
- public getLambdaDependencyKind
- public getLambdaExplicitTemplateParameters
- public getLambdaManglingNumber
- public getLambdaStaticInvoker
- public getLambdaStaticInvoker
- public getLambdaTypeInfo
- public getMSInheritanceModel
- public getMSVtorDispMode
- public getMemberSpecializationInfo
- public getMostRecentDecl
- public getMostRecentDecl
- public getMostRecentNonInjectedDecl
- public getMostRecentNonInjectedDecl
- public getNumBases
- public getNumVBases
- public getODRHash
- public getPreviousDecl
- public getPreviousDecl
- public getTemplateInstantiationPattern
- public getTemplateInstantiationPattern
- public getTemplateSpecializationKind
- public getVisibleConversionFunctions
- public hasAnyDependentBases
- public hasConstexprDefaultConstructor
- public hasConstexprDestructor
- public hasConstexprNonCopyMoveConstructor
- public hasCopyAssignmentWithConstParam
- public hasCopyConstructorWithConstParam
- public hasDefaultConstructor
- public hasDefinition
- public hasDirectFields
- public hasFriends
- public hasInClassInitializer
- public hasInheritedAssignment
- public hasInheritedConstructor
- public hasInitMethod
- public hasIrrelevantDestructor
- public hasKnownLambdaInternalLinkage
- public hasMemberName
- public hasMoveAssignment
- public hasMoveConstructor
- public hasMutableFields
- public hasNonLiteralTypeFieldsOrBases
- public hasNonTrivialCopyAssignment
- public hasNonTrivialCopyConstructor
- public hasNonTrivialCopyConstructorForCall
- public hasNonTrivialDefaultConstructor
- public hasNonTrivialDestructor
- public hasNonTrivialDestructorForCall
- public hasNonTrivialMoveAssignment
- public hasNonTrivialMoveConstructor
- public hasNonTrivialMoveConstructorForCall
- public hasPrivateFields
- public hasProtectedFields
- public hasSimpleCopyAssignment
- public hasSimpleCopyConstructor
- public hasSimpleDestructor
- public hasSimpleMoveAssignment
- public hasSimpleMoveConstructor
- public hasTrivialCopyAssignment
- public hasTrivialCopyConstructor
- public hasTrivialCopyConstructorForCall
- public hasTrivialDefaultConstructor
- public hasTrivialDestructor
- public hasTrivialDestructorForCall
- public hasTrivialMoveAssignment
- public hasTrivialMoveConstructor
- public hasTrivialMoveConstructorForCall
- public hasUninitializedReferenceMember
- public hasUserDeclaredConstructor
- public hasUserDeclaredCopyAssignment
- public hasUserDeclaredCopyConstructor
- public hasUserDeclaredDestructor
- public hasUserDeclaredMoveAssignment
- public hasUserDeclaredMoveConstructor
- public hasUserDeclaredMoveOperation
- public hasUserProvidedDefaultConstructor
- public hasVariantMembers
- public implicitCopyAssignmentHasConstParam
- public implicitCopyConstructorHasConstParam
- public isAbstract
- public isAggregate
- public isAnyDestructorNoReturn
- public isCLike
- public isCXX11StandardLayout
- public isCurrentInstantiation
- public isDependentLambda
- public isDerivedFrom
- public isDerivedFrom
- public isDynamicClass
- public isEffectivelyFinal
- public isEmpty
- public isGenericLambda
- public isInterfaceLike
- public isLambda
- public isLiteral
- public isLocalClass
- public isLocalClass
- public isNeverDependentLambda
- public isPOD
- public isParsingBaseSpecifiers
- public isPolymorphic
- public isProvablyNotDerivedFrom
- public isStandardLayout
- public isStructural
- public isTrivial
- public isTriviallyCopyable
- public isVirtuallyDerivedFrom
- public lambdaIsDefaultConstructibleAndAssignable
- public lookupDependentName
- public lookupInBases
- public markAbstract
- public mayBeAbstract
- public mayBeDynamicClass
- public mayBeNonDynamicClass
- public method_begin
- public method_end
- public methods
- public needsImplicitCopyAssignment
- public needsImplicitCopyConstructor
- public needsImplicitDefaultConstructor
- public needsImplicitDestructor
- public needsImplicitMoveAssignment
- public needsImplicitMoveConstructor
- public needsOverloadResolutionForCopyAssignment
- public needsOverloadResolutionForCopyConstructor
- public needsOverloadResolutionForDestructor
- public needsOverloadResolutionForMoveAssignment
- public needsOverloadResolutionForMoveConstructor
- public nullFieldOffsetIsZero
- public pushFriendDecl
- public removeConversion
- public setBases
- public setCaptures
- public setDescribedClassTemplate
- public setDeviceLambdaManglingNumber
- public setHasTrivialSpecialMemberForCall
- public setImplicitCopyAssignmentIsDeleted
- public setImplicitCopyConstructorIsDeleted
- public setImplicitDestructorIsDeleted
- public setImplicitMoveAssignmentIsDeleted
- public setImplicitMoveConstructorIsDeleted
- public setInitMethod
- public setInstantiationOfMemberClass
- public setIsParsingBaseSpecifiers
- public setLambdaMangling
- public setTemplateSpecializationKind
- public setTrivialForCallFlags
- public vbases
- public vbases
- public vbases_begin
- public vbases_begin
- public vbases_end
- public vbases_end
- public viewInheritance
Inherited from RecordDecl:
- public Create
- public CreateDeserialized
- public canPassInRegisters
- public classof
- public classofKind
- public completeDefinition
- public field_begin
- public field_empty
- public field_end
- public fields
- public findFirstNamedDataMember
- public getArgPassingRestrictions
- public getDefinition
- public getMostRecentDecl
- public getMostRecentDecl
- public getPreviousDecl
- public getPreviousDecl
- public hasFlexibleArrayMember
- public hasLoadedFieldsFromExternalStorage
- public hasNonTrivialToPrimitiveCopyCUnion
- public hasNonTrivialToPrimitiveDefaultInitializeCUnion
- public hasNonTrivialToPrimitiveDestructCUnion
- public hasObjectMember
- public hasVolatileMember
- public isAnonymousStructOrUnion
- public isCapturedRecord
- public isInjectedClassName
- public isLambda
- public isMsStruct
- public isNonTrivialToPrimitiveCopy
- public isNonTrivialToPrimitiveDefaultInitialize
- public isNonTrivialToPrimitiveDestroy
- public isOrContainsUnion
- public isParamDestroyedInCallee
- public isRandomized
- public mayInsertExtraPadding
- public reorderDecls
- public setAnonymousStructOrUnion
- public setArgPassingRestrictions
- public setCapturedRecord
- public setHasFlexibleArrayMember
- public setHasLoadedFieldsFromExternalStorage
- public setHasNonTrivialToPrimitiveCopyCUnion
- public setHasNonTrivialToPrimitiveDefaultInitializeCUnion
- public setHasNonTrivialToPrimitiveDestructCUnion
- public setHasObjectMember
- public setHasVolatileMember
- public setIsRandomized
- public setNonTrivialToPrimitiveCopy
- public setNonTrivialToPrimitiveDefaultInitialize
- public setNonTrivialToPrimitiveDestroy
- public setParamDestroyedInCallee
Inherited from TagDecl:
- public castFromDeclContext
- public castToDeclContext
- public classof
- public classofKind
- protected completeDefinition
- public demoteThisDefinitionToDeclaration
- public getBraceRange
- public getCanonicalDecl
- public getCanonicalDecl
- public getDefinition
- public getInnerLocStart
- public getKindName
- protected getMostRecentDeclImpl
- protected getNextRedeclarationImpl
- public getNumTemplateParameterLists
- public getOuterLocStart
- protected getPreviousDeclImpl
- public getQualifier
- public getQualifierLoc
- public getSourceRange
- public getTagKind
- public getTemplateParameterList
- public getTypedefNameForAnonDecl
- public hasNameForLinkage
- public isBeingDefined
- public isClass
- public isCompleteDefinition
- public isCompleteDefinitionRequired
- public isDependentType
- public isEmbeddedInDeclarator
- public isEnum
- public isFreeStanding
- public isInterface
- public isStruct
- public isThisDeclarationADefinition
- public isThisDeclarationADemotedDefinition
- public isUnion
- public mayHaveOutOfDateDef
- protected setBeingDefined
- public setBraceRange
- public setCompleteDefinition
- public setCompleteDefinitionRequired
- public setEmbeddedInDeclarator
- public setFreeStanding
- protected setMayHaveOutOfDateDef
- public setQualifierInfo
- public setTagKind
- public setTemplateParameterListsInfo
- public setTypedefNameForAnonDecl
- public startDefinition
Inherited from DeclContext:
- protected BuildDeclChain
- public Encloses
- public Equals
- public InEnclosingNamespaceSetOf
- public addDecl
- public addDeclInternal
- public addHiddenDecl
- public buildLookup
- public classof
- public classof
- public collectAllContexts
- public containsDecl
- public containsDeclAndLoad
- public ddiags
- public decls
- public decls_begin
- public decls_empty
- public decls_end
- public dumpDeclContext
- public dumpLookups
- public dumpLookups
- public getDeclKind
- public getDeclKindName
- public getEnclosingNamespaceContext
- public getEnclosingNamespaceContext
- public getExternCContext
- public getInnermostBlockDecl
- public getLexicalParent
- public getLexicalParent
- public getLookupParent
- public getLookupParent
- public getLookupPtr
- public getNonClosureAncestor
- public getNonClosureAncestor
- public getNonTransparentContext
- public getNonTransparentContext
- public getOuterLexicalRecordContext
- public getOuterLexicalRecordContext
- public getParent
- public getParent
- public getParentASTContext
- public getPrimaryContext
- public getPrimaryContext
- public getRedeclContext
- public getRedeclContext
- public hasExternalLexicalStorage
- public hasExternalVisibleStorage
- public isClosure
- public isDeclInLexicalTraversal
- public isDependentContext
- public isExternCContext
- public isExternCXXContext
- public isFileContext
- public isFunctionOrMethod
- public isInlineNamespace
- public isLookupContext
- public isNamespace
- public isObjCContainer
- public isRecord
- public isStdNamespace
- public isTranslationUnit
- public isTransparentContext
- public localUncachedLookup
- public lookup
- public lookups
- public lookups_begin
- public lookups_end
- public makeDeclVisibleInContext
- public noload_decls
- public noload_decls_begin
- public noload_decls_end
- public noload_lookup
- public noload_lookups
- public noload_lookups_begin
- public noload_lookups_end
- public removeDecl
- public setHasExternalLexicalStorage
- public setHasExternalVisibleStorage
- public setMustBuildLookupTable
- public setUseQualifiedLookup
- public shouldUseQualifiedLookup
- public using_directives
Inherited from TypeDecl:
- public classof
- public classofKind
- public getBeginLoc
- public getSourceRange
- public getTypeForDecl
- public setLocStart
- public setTypeForDecl
Inherited from NamedDecl:
- public classof
- public classofKind
- public declarationReplaces
- public getDeclName
- public getExplicitVisibility
- public getFormalLinkage
- public getIdentifier
- public getLinkageAndVisibility
- public getLinkageInternal
- public getMostRecentDecl
- public getMostRecentDecl
- public getName
- public getNameAsString
- public getNameForDiagnostic
- public getObjCFStringFormattingFamily
- public getQualifiedNameAsString
- public getUnderlyingDecl
- public getUnderlyingDecl
- public getVisibility
- public hasExternalFormalLinkage
- public hasLinkage
- public hasLinkageBeenComputed
- public isCXXClassMember
- public isCXXInstanceMember
- public isExternallyDeclarable
- public isExternallyVisible
- public isLinkageValid
- public isReserved
- public printName
- public printNestedNameSpecifier
- public printNestedNameSpecifier
- public printQualifiedName
- public printQualifiedName
- public setDeclName
Inherited from Decl:
- public EnableStatistics
- public PrintStats
- public add
- public addAttr
- public attr_begin
- public attr_end
- public attrs
- public canBeWeakImported
- public castFromDeclContext
- public castToDeclContext
- public classofKind
- public dropAttr
- public dropAttrs
- public dump
- public dump
- public dumpColor
- public getASTContext
- protected getASTMutationListener
- public getAccess
- public getAccessUnsafe
- public getAsFunction
- public getAsFunction
- public getAttr
- public getAttrs
- public getAttrs
- public getAvailability
- public getBeginLoc
- public getBody
- public getBodyRBrace
- protected getCachedLinkage
- public getCanonicalDecl
- public getCanonicalDecl
- public getDeclContext
- public getDeclContext
- public getDeclKindName
- public getDefiningAttr
- public getDescribedTemplate
- public getDescribedTemplateParams
- public getEndLoc
- public getExternalSourceSymbolAttr
- public getFriendObjectKind
- public getFunctionType
- public getGlobalID
- public getID
- public getIdentifierNamespace
- public getIdentifierNamespaceForKind
- public getImportedOwningModule
- public getKind
- public getLangOpts
- public getLexicalDeclContext
- public getLexicalDeclContext
- public getLocalOwningModule
- public getLocation
- public getMaxAlignment
- public getModuleOwnershipKind
- public getMostRecentDecl
- public getMostRecentDecl
- protected getMostRecentDeclImpl
- public getNextDeclInContext
- public getNextDeclInContext
- protected getNextRedeclarationImpl
- public getNonClosureContext
- public getNonClosureContext
- public getOwningModule
- public getOwningModuleForLinkage
- public getOwningModuleID
- public getParentFunctionOrMethod
- public getParentFunctionOrMethod
- public getPreviousDecl
- public getPreviousDecl
- protected getPreviousDeclImpl
- public getSourceRange
- public getTemplateDepth
- public getTranslationUnitDecl
- public getTranslationUnitDecl
- public getVersionIntroduced
- public hasAttr
- public hasAttrs
- public hasBody
- protected hasCachedLinkage
- public hasDefiningAttr
- protected hasLocalOwningModuleStorage
- public hasOwningModule
- public hasTagIdentifierNamespace
- public isCanonicalDecl
- public isDefinedOutsideFunctionOrMethod
- public isDeprecated
- public isDiscardedInGlobalModuleFragment
- public isFirstDecl
- public isFromASTFile
- public isFunctionOrFunctionTemplate
- public isImplicit
- public isInAnonymousNamespace
- public isInExportDeclContext
- public isInIdentifierNamespace
- public isInLocalScopeForInstantiation
- public isInStdNamespace
- public isInvalidDecl
- public isInvisibleOutsideTheOwningModule
- public isLocalExternDecl
- public isModulePrivate
- public isOutOfLine
- public isParameterPack
- public isReachable
- public isReferenced
- public isTagIdentifierNamespace
- public isTemplateDecl
- public isTemplateParameter
- public isTemplateParameterPack
- public isTemplated
- public isThisDeclarationReferenced
- public isTopLevelDeclInObjCContainer
- public isUnavailable
- public isUnconditionallyVisible
- public isUsed
- public isWeakImported
- public markUsed
- public print
- public print
- public printGroup
- public redecls
- public redecls_begin
- public redecls_end
- public setAccess
- public setAttrs
- protected setCachedLinkage
- public setDeclContext
- public setFromASTFile
- public setImplicit
- public setInvalidDecl
- public setIsUsed
- public setLexicalDeclContext
- public setLocalExternDecl
- public setLocalOwningModule
- public setLocation
- public setModuleOwnershipKind
- protected setModulePrivate
- public setNonMemberOperator
- public setObjectOfFriendDecl
- public setOwningModuleID
- public setReferenced
- public setTopLevelDeclInObjCContainer
- public setVisibleDespiteOwningModule
- public specific_attr_begin
- public specific_attr_end
- public specific_attrs
- protected updateOutOfDate
Methods
¶ClassTemplatePartialSpecializationDecl(
clang::ASTContext& C)
ClassTemplatePartialSpecializationDecl(
clang::ASTContext& C)
Declared at: clang/include/clang/AST/DeclTemplate.h:2128
Parameters
¶ClassTemplatePartialSpecializationDecl(
clang::ASTContext& Context,
clang::TagDecl::TagKind TK,
clang::DeclContext* DC,
clang::SourceLocation StartLoc,
clang::SourceLocation IdLoc,
clang::TemplateParameterList* Params,
clang::ClassTemplateDecl* SpecializedTemplate,
ArrayRef<clang::TemplateArgument> Args,
const clang::ASTTemplateArgumentListInfo*
ArgsAsWritten,
clang::ClassTemplatePartialSpecializationDecl*
PrevDecl)
ClassTemplatePartialSpecializationDecl(
clang::ASTContext& Context,
clang::TagDecl::TagKind TK,
clang::DeclContext* DC,
clang::SourceLocation StartLoc,
clang::SourceLocation IdLoc,
clang::TemplateParameterList* Params,
clang::ClassTemplateDecl* SpecializedTemplate,
ArrayRef<clang::TemplateArgument> Args,
const clang::ASTTemplateArgumentListInfo*
ArgsAsWritten,
clang::ClassTemplatePartialSpecializationDecl*
PrevDecl)
Declared at: clang/include/clang/AST/DeclTemplate.h:2118
Parameters
- clang::ASTContext& Context
- clang::TagDecl::TagKind TK
- clang::DeclContext* DC
- clang::SourceLocation StartLoc
- clang::SourceLocation IdLoc
- clang::TemplateParameterList* Params
- clang::ClassTemplateDecl* SpecializedTemplate
- ArrayRef<clang::TemplateArgument> Args
- const clang::ASTTemplateArgumentListInfo* ArgsAsWritten
- clang::ClassTemplatePartialSpecializationDecl* PrevDecl
¶static clang::
ClassTemplatePartialSpecializationDecl*
Create(
clang::ASTContext& Context,
clang::TagDecl::TagKind TK,
clang::DeclContext* DC,
clang::SourceLocation StartLoc,
clang::SourceLocation IdLoc,
clang::TemplateParameterList* Params,
clang::ClassTemplateDecl*
SpecializedTemplate,
ArrayRef<clang::TemplateArgument> Args,
const clang::TemplateArgumentListInfo&
ArgInfos,
clang::QualType CanonInjectedType,
clang::
ClassTemplatePartialSpecializationDecl*
PrevDecl)
static clang::
ClassTemplatePartialSpecializationDecl*
Create(
clang::ASTContext& Context,
clang::TagDecl::TagKind TK,
clang::DeclContext* DC,
clang::SourceLocation StartLoc,
clang::SourceLocation IdLoc,
clang::TemplateParameterList* Params,
clang::ClassTemplateDecl*
SpecializedTemplate,
ArrayRef<clang::TemplateArgument> Args,
const clang::TemplateArgumentListInfo&
ArgInfos,
clang::QualType CanonInjectedType,
clang::
ClassTemplatePartialSpecializationDecl*
PrevDecl)
Declared at: clang/include/clang/AST/DeclTemplate.h:2139
Parameters
- clang::ASTContext& Context
- clang::TagDecl::TagKind TK
- clang::DeclContext* DC
- clang::SourceLocation StartLoc
- clang::SourceLocation IdLoc
- clang::TemplateParameterList* Params
- clang::ClassTemplateDecl* SpecializedTemplate
- ArrayRef<clang::TemplateArgument> Args
- const clang::TemplateArgumentListInfo& ArgInfos
- clang::QualType CanonInjectedType
- clang::ClassTemplatePartialSpecializationDecl* PrevDecl
¶static clang::
ClassTemplatePartialSpecializationDecl*
CreateDeserialized(clang::ASTContext& C,
unsigned int ID)
static clang::
ClassTemplatePartialSpecializationDecl*
CreateDeserialized(clang::ASTContext& C,
unsigned int ID)
Declared at: clang/include/clang/AST/DeclTemplate.h:2149
Parameters
- clang::ASTContext& C
- unsigned int ID
¶static void Profile(
llvm::FoldingSetNodeID& ID,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::TemplateParameterList* TPL,
clang::ASTContext& Context)
static void Profile(
llvm::FoldingSetNodeID& ID,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::TemplateParameterList* TPL,
clang::ASTContext& Context)
Declared at: clang/include/clang/AST/DeclTemplate.h:2262
Parameters
- llvm::FoldingSetNodeID& ID
- ArrayRef<clang::TemplateArgument> TemplateArgs
- clang::TemplateParameterList* TPL
- clang::ASTContext& Context
¶void Profile(llvm::FoldingSetNodeID& ID) const
void Profile(llvm::FoldingSetNodeID& ID) const
Declared at: clang/include/clang/AST/DeclTemplate.h:2256
Parameters
¶void anchor()
void anchor()
Declared at: clang/include/clang/AST/DeclTemplate.h:2132
¶static bool classof(const clang::Decl* D)
static bool classof(const clang::Decl* D)
Declared at: clang/include/clang/AST/DeclTemplate.h:2265
Parameters
- const clang::Decl* D
¶static bool classofKind(clang::Decl::Kind K)
static bool classofKind(clang::Decl::Kind K)
Declared at: clang/include/clang/AST/DeclTemplate.h:2267
Parameters
- clang::Decl::Kind K
¶void getAssociatedConstraints(
llvm::SmallVectorImpl<const Expr*>& AC) const
void getAssociatedConstraints(
llvm::SmallVectorImpl<const Expr*>& AC) const
Description
All associated constraints of this partial specialization, including the requires clause and any constraints derived from constrained-parameters.
The constraints in the resulting list are to be treated as if in a conjunction ("and").
Declared at: clang/include/clang/AST/DeclTemplate.h:2168
Parameters
- llvm::SmallVectorImpl<const Expr*>& AC
¶clang::QualType getInjectedSpecializationType()
const
clang::QualType getInjectedSpecializationType()
const
Description
Retrieves the injected specialization type for this partial specialization. This is not the same as the type-decl-type for this partial specialization, which is an InjectedClassNameType.
Declared at: clang/include/clang/AST/DeclTemplate.h:2250
¶clang::ClassTemplatePartialSpecializationDecl*
getInstantiatedFromMember() const
clang::ClassTemplatePartialSpecializationDecl*
getInstantiatedFromMember() const
Description
Retrieve the member class template partial specialization from which this particular class template partial specialization was instantiated. In this example, the instantiation of \c Outer<float>::Inner<int*> will end up instantiating the partial specialization\c Outer<float>::Inner<U*>, which itself was instantiated from the class template partial specialization \c Outer<T>::Inner<U*>. Given\c Outer<float>::Inner<U*>, this function would return\c Outer<T>::Inner<U*>.
Declared at: clang/include/clang/AST/DeclTemplate.h:2201
¶clang::ClassTemplatePartialSpecializationDecl*
getInstantiatedFromMemberTemplate() const
clang::ClassTemplatePartialSpecializationDecl*
getInstantiatedFromMemberTemplate() const
Declared at: clang/include/clang/AST/DeclTemplate.h:2207
¶clang::ClassTemplatePartialSpecializationDecl*
getMostRecentDecl()
clang::ClassTemplatePartialSpecializationDecl*
getMostRecentDecl()
Declared at: clang/include/clang/AST/DeclTemplate.h:2151
¶const clang::ASTTemplateArgumentListInfo*
getTemplateArgsAsWritten() const
const clang::ASTTemplateArgumentListInfo*
getTemplateArgsAsWritten() const
Description
Get the template arguments as written.
Declared at: clang/include/clang/AST/DeclTemplate.h:2177
¶clang::TemplateParameterList*
getTemplateParameters() const
clang::TemplateParameterList*
getTemplateParameters() const
Description
Get the list of template parameters
Declared at: clang/include/clang/AST/DeclTemplate.h:2158
¶bool hasAssociatedConstraints() const
bool hasAssociatedConstraints() const
Declared at: clang/include/clang/AST/DeclTemplate.h:2172
¶bool isMemberSpecialization()
bool isMemberSpecialization()
Description
Determines whether this class template partial specialization template was a specialization of a member partial specialization. In the following example, the member template partial specialization\c X<int>::Inner<T*> is a member specialization.
Declared at: clang/include/clang/AST/DeclTemplate.h:2233
¶void setInstantiatedFromMember(
clang::ClassTemplatePartialSpecializationDecl*
PartialSpec)
void setInstantiatedFromMember(
clang::ClassTemplatePartialSpecializationDecl*
PartialSpec)
Declared at: clang/include/clang/AST/DeclTemplate.h:2211
Parameters
- clang::ClassTemplatePartialSpecializationDecl* PartialSpec
¶void setMemberSpecialization()
void setMemberSpecialization()
Description
Note that this member template is a specialization.
Declared at: clang/include/clang/AST/DeclTemplate.h:2240