OverloadCandidateSet - A set of overload candidates, used in C++ overload resolution (C++ 13.3). More...
#include "clang/Sema/Overload.h"
OverloadCandidateSet - A set of overload candidates, used in C++ overload resolution (C++ 13.3).
Definition at line 1021 of file Overload.h.
◆ iterator ◆ CandidateSetKind Enumerator CSK_NormalNormal lookup.
CSK_OperatorC++ [over.match.oper]: Lookup of operator function candidates in a call using operator syntax.
Candidates that have no parameters of class type will be skipped unless there is a parameter of (reference to) enum type and the corresponding argument is of the same enum type.
CSK_InitByUserDefinedConversionC++ [over.match.copy]: Copy-initialization of an object of class type by user-defined conversion.
CSK_InitByConstructorC++ [over.match.ctor], [over.match.list] Initialization of an object of class type by constructor, using either a parenthesized or braced list of arguments.
CSK_AddressOfOverloadSetC++ [over.match.call.general] Resolve a call through the address of an overload set.
Definition at line 1023 of file Overload.h.
◆ OverloadCandidateSet() [1/2] ◆ OverloadCandidateSet() [2/2] ◆ ~OverloadCandidateSet() clang::OverloadCandidateSet::~OverloadCandidateSet ( ) inlineDefinition at line 1171 of file Overload.h.
◆ addCandidate() ◆ allocateConversionSequences() ◆ begin() iterator clang::OverloadCandidateSet::begin ( ) inline ◆ BestViableFunction()Find the best viable function on this overload set, if it exists.
Computes the best viable function (C++ 13.3.3) within an overload candidate set.
Best
points to the candidate function found.
Definition at line 10861 of file SemaOverload.cpp.
References begin(), clang::OverloadCandidate::Best, clang::SemaCUDA::CFP_SameSide, clang::SemaCUDA::CFP_WrongSide, CSK_AddressOfOverloadSet, clang::Sema::CUDA(), clang::Sema::diagnoseEquivalentInternalLinkageDeclarations(), end(), clang::OverloadCandidate::Function, clang::Sema::getCurFunctionDecl(), clang::Sema::getLangOpts(), clang::SemaCUDA::IdentifyPreference(), clang::isBetterOverloadCandidate(), clang::Sema::isEquivalentInternalLinkageDeclaration(), Loc, clang::OverloadCandidate::NotValidBecauseConstraintExprHasError(), clang::OR_Ambiguous, clang::OR_Deleted, clang::OR_No_Viable_Function, clang::OR_Success, and clang::OverloadCandidate::Viable.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildForRangeBeginEndCall(), clang::Sema::BuildLiteralOperatorCall(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::BuildOverloadedCallExpr(), clang::Sema::buildOverloadedCallSet(), ComputeSelectedDestructor(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), clang::InitializationSequence::Diagnose(), clang::Sema::DiagnoseEmptyLookup(), DiagnoseTwoPhaseLookup(), FindConditionalOverload(), FindConversionForRefInit(), clang::InitializationSequence::InitializeFrom(), IsInitializerListConstructorConversion(), IsUserDefinedConversion(), clang::Sema::LookupSpecialMember(), clang::Sema::PerformContextualImplicitConversion(), resolveAllocationOverload(), resolveBuiltinNewDeleteOverload(), ResolveConstructorOverload(), tryDiagnoseOverloadedCast(), TryRefInitWithConversionFunction(), TryTypoCorrectionForCall(), and TryUserDefinedConversion().
◆ clear() ◆ CompleteCandidates()Definition at line 12655 of file SemaOverload.cpp.
References begin(), CompleteNonViableCandidate(), end(), clang::OCD_AllCandidates, clang::OCD_AmbiguousCandidates, clang::OCD_ViableCandidates, and size().
Referenced by clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::CreateOverloadedBinOp(), clang::InitializationSequence::Diagnose(), clang::Sema::DiagnoseMultipleUserDefinedConversion(), NoteCandidates(), resolveAllocationOverload(), and shouldDeferDiags().
◆ empty() bool clang::OverloadCandidateSet::empty ( ) const inlineDefinition at line 1204 of file Overload.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildForRangeBeginEndCall(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::buildOverloadedCallSet(), ComputeSelectedDestructor(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::DiagnoseMultipleUserDefinedConversion(), FinishOverloadedCallExpr(), clang::SemaCodeCompletion::ProduceCallSignatureHelp(), tryDiagnoseOverloadedCast(), and TryReferenceInitializationCore().
◆ end() iterator clang::OverloadCandidateSet::end ( ) inlineDefinition at line 1201 of file Overload.h.
Referenced by clang::Sema::AddArgumentDependentLookupCandidates(), BestViableFunction(), clang::Sema::BuildCallToObjectOfClassType(), chooseRecoveryType(), CompleteCandidates(), DiagnoseTwoPhaseLookup(), FindConversionForRefInit(), FinishOverloadedCallExpr(), markUnaddressableCandidatesUnviable(), NoteCandidates(), clang::TemplateSpecCandidateSet::NoteCandidates(), and TryUserDefinedConversion().
◆ exclude() void clang::OverloadCandidateSet::exclude ( Decl * F ) inline ◆ getDestAS() LangAS clang::OverloadCandidateSet::getDestAS ( ) inline ◆ getKind() ◆ getLocation() ◆ getRewriteInfo() ◆ isNewCandidate() ◆ NoteCandidates() [1/2]When overload resolution fails, prints diagnostic messages containing the candidates in the candidate set.
Definition at line 12719 of file SemaOverload.cpp.
References begin(), CompleteCandidates(), clang::SemaBase::Diag(), end(), MaybeDiagnoseAmbiguousConstraints(), NoteCandidates(), clang::OCD_AmbiguousCandidates, and shouldDeferDiags().
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildLiteralOperatorCall(), BuildNonArrayForRange(), clang::Sema::BuildOverloadedArrowExpr(), CheckCXX98CompatAccessibleCopy(), ComputeSelectedDestructor(), CopyObject(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), clang::InitializationSequence::Diagnose(), clang::Sema::DiagnoseMultipleUserDefinedConversion(), clang::Sema::DiagnoseUseOfDeletedFunction(), FinishOverloadedCallExpr(), NoteCandidates(), resolveAllocationOverload(), resolveBuiltinNewDeleteOverload(), and tryDiagnoseOverloadedCast().
◆ NoteCandidates() [2/2]Definition at line 12743 of file SemaOverload.cpp.
References clang::SemaBase::Diag(), clang::Sema::Diags, E, clang::OverloadCandidate::Function, clang::DiagnosticsEngine::getNumOverloadCandidatesToShow(), clang::DiagnosticsEngine::getShowOverloads(), int, clang::OverloadCandidate::IsSurrogate, NoteAmbiguousUserConversions(), NoteBuiltinOperatorCandidate(), NoteFunctionCandidate(), NoteSurrogateCandidate(), clang::DiagnosticsEngine::overloadCandidatesShown(), clang::Ovl_Best, shouldDeferDiags(), and clang::OverloadCandidate::Viable.
◆ operator=() ◆ setDestAS() void clang::OverloadCandidateSet::setDestAS ( LangAS AS ) inline ◆ shouldDeferDiags() ◆ size() size_t clang::OverloadCandidateSet::size ( ) const inlineDefinition at line 1203 of file Overload.h.
Referenced by clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildLiteralOperatorCall(), clang::Sema::BuildOverloadedArrowExpr(), CompleteCandidates(), CopyObject(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), FindConversionForRefInit(), IsInitializerListConstructorConversion(), IsUserDefinedConversion(), clang::TemplateSpecCandidateSet::NoteCandidates(), TryConstructorInitialization(), TryRefInitWithConversionFunction(), and TryUserDefinedConversion().
The documentation for this class was generated from the following files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4