clang 20.0.0git
|
TemplateSpecCandidateSet - A set of generalized overload candidates, used in template specializations. More...
#include "clang/Sema/TemplateDeduction.h"
Public Types | |
using | iterator = SmallVector< TemplateSpecCandidate, 16 >::iterator |
Public Member Functions | |
TemplateSpecCandidateSet (SourceLocation Loc, bool ForTakingAddress=false) | |
TemplateSpecCandidateSet (const TemplateSpecCandidateSet &)=delete | |
TemplateSpecCandidateSet & | operator= (const TemplateSpecCandidateSet &)=delete |
~TemplateSpecCandidateSet () | |
SourceLocation | getLocation () const |
void | clear () |
Clear out all of the candidates. | |
iterator | begin () |
iterator | end () |
size_t | size () const |
bool | empty () const |
TemplateSpecCandidate & | addCandidate () |
Add a new candidate with NumConversions conversion sequence slots to the overload set. | |
void | NoteCandidates (Sema &S, SourceLocation Loc) |
NoteCandidates - When no template specialization match is found, prints diagnostic messages containing the non-matching specializations that form the candidate set. | |
void | NoteCandidates (Sema &S, SourceLocation Loc) const |
TemplateSpecCandidateSet - A set of generalized overload candidates, used in template specializations.
TODO: In the future, we may need to unify/generalize this with OverloadCandidateSet.
Definition at line 338 of file TemplateDeduction.h.
using clang::TemplateSpecCandidateSet::iterator = SmallVector<TemplateSpecCandidate, 16>::iterator |
Definition at line 363 of file TemplateDeduction.h.
|
inline |
Definition at line 350 of file TemplateDeduction.h.
References Loc.
|
delete |
|
inline |
Definition at line 355 of file TemplateDeduction.h.
|
inline |
Add a new candidate with NumConversions conversion sequence slots to the overload set.
Definition at line 373 of file TemplateDeduction.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::Sema::CheckVarTemplateId(), getPatternForClassTemplateSpecialization(), and clang::Sema::ResolveSingleFunctionTemplateSpecialization().
|
inline |
Definition at line 365 of file TemplateDeduction.h.
void TemplateSpecCandidateSet::clear | ( | ) |
Clear out all of the candidates.
TODO: This may be unnecessary.
Definition at line 12768 of file SemaOverload.cpp.
|
inline |
Definition at line 369 of file TemplateDeduction.h.
|
inline |
Definition at line 366 of file TemplateDeduction.h.
|
inline |
Definition at line 357 of file TemplateDeduction.h.
References Loc.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::Sema::CheckVarTemplateId(), and getPatternForClassTemplateSpecialization().
void TemplateSpecCandidateSet::NoteCandidates | ( | Sema & | S, |
SourceLocation | Loc | ||
) |
NoteCandidates - When no template specialization match is found, prints diagnostic messages containing the non-matching specializations that form the candidate set.
This is analoguous to OverloadCandidateSet::NoteCandidates() with OCD == OCD_AllCandidates and Cand->Viable == false.
Definition at line 12778 of file SemaOverload.cpp.
References clang::OverloadCandidateSet::begin(), clang::SemaBase::Diag(), clang::Sema::Diags, E, clang::OverloadCandidateSet::end(), clang::DiagnosticsEngine::getShowOverloads(), int, Loc, clang::TemplateSpecCandidate::NoteDeductionFailure(), clang::Ovl_Best, clang::OverloadCandidateSet::size(), and clang::TemplateSpecCandidate::Specialization.
Referenced by clang::Sema::CheckFunctionTemplateSpecialization(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), clang::Sema::getMostSpecialized(), and NoteCandidates().
|
inline |
Definition at line 380 of file TemplateDeduction.h.
References Loc, and NoteCandidates().
|
delete |
|
inline |
Definition at line 368 of file TemplateDeduction.h.