clang 20.0.0git
|
Represents a C++ deduction guide declaration. More...
#include "clang/AST/DeclCXX.h"
Public Member Functions | |
ExplicitSpecifier | getExplicitSpecifier () |
const ExplicitSpecifier | getExplicitSpecifier () const |
bool | isExplicit () const |
Return true if the declaration is already resolved to be explicit. | |
TemplateDecl * | getDeducedTemplate () const |
Get the template for which this guide performs deduction. | |
CXXConstructorDecl * | getCorrespondingConstructor () const |
Get the constructor from which this deduction guide was generated, if this is an implicit deduction guide. | |
void | setDeductionCandidateKind (DeductionCandidate K) |
DeductionCandidate | getDeductionCandidateKind () const |
![]() | |
DeclarationNameInfo | getNameInfo () 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. | |
void | setRangeEnd (SourceLocation E) |
void | setDeclarationNameLoc (DeclarationNameLoc L) |
SourceLocation | getEllipsisLoc () const |
Returns the location of the ellipsis of a variadic function. | |
SourceRange | getSourceRange () const override LLVM_READONLY |
Source range that this declaration covers. | |
bool | hasBody (const FunctionDecl *&Definition) const |
Returns true if the function has a body. | |
bool | hasBody () const override |
Returns true if this Decl represents a declaration for a body of code, such as a function or method definition. | |
bool | hasTrivialBody () const |
Returns whether the function has a trivial body that does not require any specific codegen. | |
bool | isDefined (const FunctionDecl *&Definition, bool CheckForPendingFriendDefinition=false) const |
Returns true if the function has a definition that does not need to be instantiated. | |
bool | isDefined () const |
FunctionDecl * | getDefinition () |
Get the definition for this declaration. | |
const FunctionDecl * | getDefinition () const |
Stmt * | getBody (const FunctionDecl *&Definition) const |
Retrieve the body (definition) of the function. | |
Stmt * | getBody () const override |
getBody - If this Decl represents a declaration for a body of code, such as a function or method definition, this method returns the top-level Stmt* of that body. | |
bool | isThisDeclarationADefinition () const |
Returns whether this specific declaration of the function is also a definition that does not contain uninstantiated body. | |
bool | isThisDeclarationInstantiatedFromAFriendDefinition () const |
Determine whether this specific declaration of the function is a friend declaration that was instantiated from a function definition. | |
bool | doesThisDeclarationHaveABody () const |
Returns whether this specific declaration of the function has a body. | |
void | setBody (Stmt *B) |
void | setLazyBody (uint64_t Offset) |
void | setDefaultedOrDeletedInfo (DefaultedOrDeletedFunctionInfo *Info) |
DefaultedOrDeletedFunctionInfo * | getDefalutedOrDeletedInfo () const |
bool | isVariadic () const |
Whether this function is variadic. | |
bool | isVirtualAsWritten () const |
Whether this function is marked as virtual explicitly. | |
void | setVirtualAsWritten (bool V) |
State that this function is marked as virtual explicitly. | |
bool | isPureVirtual () const |
Whether this virtual function is pure, i.e. | |
void | setIsPureVirtual (bool P=true) |
bool | isLateTemplateParsed () const |
Whether this templated function will be late parsed. | |
void | setLateTemplateParsed (bool ILT=true) |
State that this templated function will be late parsed. | |
bool | isTrivial () const |
Whether this function is "trivial" in some specialized C++ senses. | |
void | setTrivial (bool IT) |
bool | isTrivialForCall () const |
void | setTrivialForCall (bool IT) |
bool | isDefaulted () const |
Whether this function is defaulted. | |
void | setDefaulted (bool D=true) |
bool | isExplicitlyDefaulted () const |
Whether this function is explicitly defaulted. | |
void | setExplicitlyDefaulted (bool ED=true) |
State that this function is explicitly defaulted. | |
SourceLocation | getDefaultLoc () const |
void | setDefaultLoc (SourceLocation NewLoc) |
bool | isUserProvided () const |
True if this method is user-declared and was not deleted or defaulted on its first declaration. | |
bool | isIneligibleOrNotSelected () const |
void | setIneligibleOrNotSelected (bool II) |
bool | hasImplicitReturnZero () const |
Whether falling off this function implicitly returns null/zero. | |
void | setHasImplicitReturnZero (bool IRZ) |
State that falling off this function implicitly returns null/zero. | |
bool | hasPrototype () const |
Whether this function has a prototype, either because one was explicitly written or because it was "inherited" by merging a declaration without a prototype with a declaration that has a prototype. | |
bool | hasWrittenPrototype () const |
Whether this function has a written prototype. | |
void | setHasWrittenPrototype (bool P=true) |
State that this function has a written prototype. | |
bool | hasInheritedPrototype () const |
Whether this function inherited its prototype from a previous declaration. | |
void | setHasInheritedPrototype (bool P=true) |
State that this function inherited its prototype from a previous declaration. | |
bool | isConstexpr () const |
Whether this is a (C++11) constexpr function or constexpr constructor. | |
void | setConstexprKind (ConstexprSpecKind CSK) |
ConstexprSpecKind | getConstexprKind () const |
bool | isConstexprSpecified () const |
bool | isConsteval () const |
void | setBodyContainsImmediateEscalatingExpressions (bool Set) |
bool | BodyContainsImmediateEscalatingExpressions () const |
bool | isImmediateEscalating () const |
bool | isImmediateFunction () const |
bool | instantiationIsPending () const |
Whether the instantiation of this function is pending. | |
void | setInstantiationIsPending (bool IC) |
State that the instantiation of this function is pending. | |
bool | usesSEHTry () const |
Indicates the function uses __try. | |
void | setUsesSEHTry (bool UST) |
bool | isDeleted () const |
Whether this function has been deleted. | |
bool | isDeletedAsWritten () const |
void | setDeletedAsWritten (bool D=true, StringLiteral *Message=nullptr) |
bool | isMain () const |
Determines whether this function is "main", which is the entry point into an executable program. | |
bool | isMSVCRTEntryPoint () const |
Determines whether this function is a MSVCRT user defined entry point. | |
bool | isReservedGlobalPlacementOperator () const |
Determines whether this operator new or delete is one of the reserved global placement operators: void *operator new(size_t, void *); void *operator new[](size_t, void *); void operator delete(void *, void *); void operator delete[](void *, void *); These functions have special behavior under [new.delete.placement]: These functions are reserved, a C++ program may not define functions that displace the versions in the Standard C++ library. | |
bool | isReplaceableGlobalAllocationFunction (std::optional< unsigned > *AlignmentParam=nullptr, bool *IsNothrow=nullptr) const |
Determines whether this function is one of the replaceable global allocation functions: void *operator new(size_t); void *operator new(size_t, const std::nothrow_t &) noexcept; void *operator new[](size_t); void *operator new[](size_t, const std::nothrow_t &) noexcept; void operator delete(void *) noexcept; void operator delete(void *, std::size_t) noexcept; [C++1y] void operator delete(void *, const std::nothrow_t &) noexcept; void operator delete[](void *) noexcept; void operator delete[](void *, std::size_t) noexcept; [C++1y] void operator delete[](void *, const std::nothrow_t &) noexcept; These functions have special behavior under C++1y [expr.new]: An implementation is allowed to omit a call to a replaceable global allocation function. | |
bool | isInlineBuiltinDeclaration () const |
Determine if this function provides an inline implementation of a builtin. | |
bool | isDestroyingOperatorDelete () const |
Determine whether this is a destroying operator delete. | |
LanguageLinkage | getLanguageLinkage () const |
Compute the language linkage. | |
bool | isExternC () const |
Determines whether this function is a function with external, C linkage. | |
bool |