class CXXDeductionGuideDecl
Declaration
class CXXDeductionGuideDecl : public FunctionDecl { /* full declaration omitted */ };
Description
Represents a C++ deduction guide declaration. In this example, there will be an explicit deduction guide from the second line, and implicit deduction guide templates synthesized from the constructors of \c A.
Declared at: clang/include/clang/AST/DeclCXX.h:1883
Inherits from: FunctionDecl
Member Variables
- private clang::CXXConstructorDecl* Ctor
- private clang::ExplicitSpecifier ExplicitSpec
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 CXXDeductionGuideDecl(clang::ASTContext & C, clang::DeclContext * DC, clang::SourceLocation StartLoc, clang::ExplicitSpecifier ES, const clang::DeclarationNameInfo & NameInfo, clang::QualType T, clang::TypeSourceInfo * TInfo, clang::SourceLocation EndLocation, clang::CXXConstructorDecl * Ctor)
- public static clang::CXXDeductionGuideDecl * Create(clang::ASTContext & C, clang::DeclContext * DC, clang::SourceLocation StartLoc, clang::ExplicitSpecifier ES, const clang::DeclarationNameInfo & NameInfo, clang::QualType T, clang::TypeSourceInfo * TInfo, clang::SourceLocation EndLocation, clang::CXXConstructorDecl * Ctor = nullptr)
- public static clang::CXXDeductionGuideDecl * CreateDeserialized(clang::ASTContext & C, unsigned int ID)
- private void anchor()
- public static bool classof(const clang::Decl * D)
- public static bool classofKind(clang::Decl::Kind K)
- public clang::CXXConstructorDecl * getCorrespondingConstructor() const
- public clang::TemplateDecl * getDeducedTemplate() const
- public clang::ExplicitSpecifier getExplicitSpecifier()
- public const clang::ExplicitSpecifier getExplicitSpecifier() const
- public bool isCopyDeductionCandidate() const
- public bool isExplicit() const
- private void setExplicitSpecifier(clang::ExplicitSpecifier ES)
- public void setIsCopyDeductionCandidate(bool isCDC = true)
Inherited from FunctionDecl:
- public Create
- public Create
- public CreateDeserialized
- public UsesFPIntrin
- public castFromDeclContext
- public castToDeclContext
- public classof
- public classofKind
- public doesDeclarationForceExternallyVisibleDefinition
- public doesThisDeclarationHaveABody
- public getAssociatedConstraints
- public getBody
- public getBody
- public getBuiltinID
- public getCallResultType
- public getCanonicalDecl
- public getCanonicalDecl
- public getConstexprKind
- public getDeclaredReturnType
- public getDefaultedFunctionInfo
- public getDefinition
- public getDefinition
- public getDependentSpecializationInfo
- public getDescribedFunctionTemplate
- public getEllipsisLoc
- public getExceptionSpecSourceRange
- public getExceptionSpecType
- public getFunctionTypeLoc
- public getInstantiatedFromDecl
- public getInstantiatedFromMemberFunction
- public getLanguageLinkage
- public getLiteralIdentifier
- public getMemberSpecializationInfo
- public getMemoryFunctionKind
- public getMinRequiredArguments
- protected getMostRecentDeclImpl
- public getMultiVersionKind
- public getNameForDiagnostic
- public getNameInfo
- protected getNextRedeclarationImpl
- public getNumParams
- public getODRHash
- public getODRHash
- public getOverloadedOperator
- public getParamDecl
- public getParamDecl
- public getParametersSourceRange
- public getPointOfInstantiation
- protected getPreviousDeclImpl
- public getPrimaryTemplate
- public getReturnType
- public getReturnTypeSourceRange
- public getSourceRange
- public getStorageClass
- public getTemplateInstantiationPattern
- public getTemplateSpecializationArgs
- public getTemplateSpecializationArgsAsWritten
- public getTemplateSpecializationInfo
- public getTemplateSpecializationKind
- public getTemplateSpecializationKindForInstantiation
- public getTemplatedKind
- public hasBody
- public hasBody
- public hasImplicitReturnZero
- public hasInheritedPrototype
- public hasOneParamOrDefaultArgs
- public hasPrototype
- public hasSkippedBody
- public hasTrivialBody
- public hasWrittenPrototype
- public instantiationIsPending
- public isCPUDispatchMultiVersion
- public isCPUSpecificMultiVersion
- public isConsteval
- public isConstexpr
- public isConstexprSpecified
- public isDefaulted
- public isDefined
- public isDefined
- public isDeleted
- public isDeletedAsWritten
- public isDestroyingOperatorDelete
- public isExplicitlyDefaulted
- public isExternC
- public isFunctionTemplateSpecialization
- public isGlobal
- public isImplicitlyInstantiable
- public isInExternCContext
- public isInExternCXXContext
- public isIneligibleOrNotSelected
- public isInlineBuiltinDeclaration
- public isInlineDefinitionExternallyVisible
- public isInlineSpecified
- public isInlined
- public isLateTemplateParsed
- public isMSExternInline
- public isMSVCRTEntryPoint
- public isMain
- public isMultiVersion
- public isNoReturn
- public isOutOfLine
- public isOverloadedOperator
- public isPure
- public isReplaceableGlobalAllocationFunction
- public isReservedGlobalPlacementOperator
- public isStatic
- public isTargetClonesMultiVersion
- public isTargetMultiVersion
- public isTemplateInstantiation
- public isThisDeclarationADefinition
- public isThisDeclarationInstantiatedFromAFriendDefinition
- public isTrivial
- public isTrivialForCall
- public isUserProvided
- public isVariadic
- public isVirtualAsWritten
- public param_begin
- public param_begin
- public param_empty
- public param_end
- public param_end
- public param_size
- public parameters
- public parameters
- public setBody
- public setConstexprKind
- public setDefaulted
- public setDefaultedFunctionInfo
- public setDeletedAsWritten
- public setDependentTemplateSpecialization
- public setDescribedFunctionTemplate
- public setExplicitlyDefaulted
- public setFunctionTemplateSpecialization
- public setHasImplicitReturnZero
- public setHasInheritedPrototype
- public setHasSkippedBody
- public setHasWrittenPrototype
- public setImplicitlyInline
- public setIneligibleOrNotSelected
- public setInlineSpecified
- public setInstantiatedFromDecl
- public setInstantiationIsPending
- public setInstantiationOfMemberFunction
- public setIsMultiVersion
- public setLateTemplateParsed
- public setLazyBody
- public setParams
- public setPreviousDeclaration
- public setPure
- public setRangeEnd
- public setStorageClass
- public setTemplateSpecializationKind
- public setTrivial
- public setTrivialForCall
- public setUsesFPIntrin
- public setUsesSEHTry
- public setVirtualAsWritten
- public setWillHaveBody
- public usesSEHTry
- public willHaveBody
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 DeclaratorDecl:
- public classof
- public classofKind
- public getBeginLoc
- public getInnerLocStart
- public getNumTemplateParameterLists
- public getOuterLocStart
- public getQualifier
- public getQualifierLoc
- public getSourceRange
- public getTemplateParameterList
- public getTrailingRequiresClause
- public getTrailingRequiresClause
- public getTypeSourceInfo
- public getTypeSpecEndLoc
- public getTypeSpecStartLoc
- public setInnerLocStart
- public setQualifierInfo
- public setTemplateParameterListsInfo
- public setTrailingRequiresClause
- public setTypeSourceInfo
Inherited from ValueDecl:
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
¶CXXDeductionGuideDecl(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation StartLoc,
clang::ExplicitSpecifier ES,
const clang::DeclarationNameInfo& NameInfo,
clang::QualType T,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation EndLocation,
clang::CXXConstructorDecl* Ctor)
CXXDeductionGuideDecl(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation StartLoc,
clang::ExplicitSpecifier ES,
const clang::DeclarationNameInfo& NameInfo,
clang::QualType T,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation EndLocation,
clang::CXXConstructorDecl* Ctor)
Declared at: clang/include/clang/AST/DeclCXX.h:1887
Parameters
- clang::ASTContext& C
- clang::DeclContext* DC
- clang::SourceLocation StartLoc
- clang::ExplicitSpecifier ES
- const clang::DeclarationNameInfo& NameInfo
- clang::QualType T
- clang::TypeSourceInfo* TInfo
- clang::SourceLocation EndLocation
- clang::CXXConstructorDecl* Ctor
¶static clang::CXXDeductionGuideDecl* Create(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation StartLoc,
clang::ExplicitSpecifier ES,
const clang::DeclarationNameInfo& NameInfo,
clang::QualType T,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation EndLocation,
clang::CXXConstructorDecl* Ctor = nullptr)
static clang::CXXDeductionGuideDecl* Create(
clang::ASTContext& C,
clang::DeclContext* DC,
clang::SourceLocation StartLoc,
clang::ExplicitSpecifier ES,
const clang::DeclarationNameInfo& NameInfo,
clang::QualType T,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation EndLocation,
clang::CXXConstructorDecl* Ctor = nullptr)
Declared at: clang/include/clang/AST/DeclCXX.h:1909
Parameters
- clang::ASTContext& C
- clang::DeclContext* DC
- clang::SourceLocation StartLoc
- clang::ExplicitSpecifier ES
- const clang::DeclarationNameInfo& NameInfo
- clang::QualType T
- clang::TypeSourceInfo* TInfo
- clang::SourceLocation EndLocation
- clang::CXXConstructorDecl* Ctor = nullptr
¶static clang::CXXDeductionGuideDecl*
CreateDeserialized(clang::ASTContext& C,
unsigned int ID)
static clang::CXXDeductionGuideDecl*
CreateDeserialized(clang::ASTContext& C,
unsigned int ID)
Declared at: clang/include/clang/AST/DeclCXX.h:1914
Parameters
- clang::ASTContext& C
- unsigned int ID
¶void anchor()
void anchor()
Declared at: clang/include/clang/AST/DeclCXX.h:1884
¶static bool classof(const clang::Decl* D)
static bool classof(const clang::Decl* D)
Declared at: clang/include/clang/AST/DeclCXX.h:1942
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/DeclCXX.h:1943
Parameters
- clang::Decl::Kind K
¶clang::CXXConstructorDecl*
getCorrespondingConstructor() const
clang::CXXConstructorDecl*
getCorrespondingConstructor() const
Description
Get the constructor from which this deduction guide was generated, if this is an implicit deduction guide.
Declared at: clang/include/clang/AST/DeclCXX.h:1929
¶clang::TemplateDecl* getDeducedTemplate() const
clang::TemplateDecl* getDeducedTemplate() const
Description
Get the template for which this guide performs deduction.
Declared at: clang/include/clang/AST/DeclCXX.h:1923
¶clang::ExplicitSpecifier getExplicitSpecifier()
clang::ExplicitSpecifier getExplicitSpecifier()
Declared at: clang/include/clang/AST/DeclCXX.h:1916
¶const clang::ExplicitSpecifier
getExplicitSpecifier() const
const clang::ExplicitSpecifier
getExplicitSpecifier() const
Declared at: clang/include/clang/AST/DeclCXX.h:1917
¶bool isCopyDeductionCandidate() const
bool isCopyDeductionCandidate() const
Declared at: clang/include/clang/AST/DeclCXX.h:1937
¶bool isExplicit() const
bool isExplicit() const
Description
Return true if the declartion is already resolved to be explicit.
Declared at: clang/include/clang/AST/DeclCXX.h:1920
¶void setExplicitSpecifier(
clang::ExplicitSpecifier ES)
void setExplicitSpecifier(
clang::ExplicitSpecifier ES)
Declared at: clang/include/clang/AST/DeclCXX.h:1902
Parameters
¶void setIsCopyDeductionCandidate(
bool isCDC = true)
void setIsCopyDeductionCandidate(
bool isCDC = true)
Declared at: clang/include/clang/AST/DeclCXX.h:1933
Parameters
- bool isCDC = true