|
clang 22.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 347 of file TemplateDeduction.h.
| using clang::TemplateSpecCandidateSet::iterator = SmallVector<TemplateSpecCandidate, 16>::iterator |
Definition at line 372 of file TemplateDeduction.h.
|
inline |
Definition at line 359 of file TemplateDeduction.h.
Referenced by NoteCandidates(), operator=(), and TemplateSpecCandidateSet().
|
delete |
References TemplateSpecCandidateSet().
|
inline |
Definition at line 364 of file TemplateDeduction.h.
|
inline |
Add a new candidate with NumConversions conversion sequence slots to the overload set.
Definition at line 382 of file TemplateDeduction.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::Sema::CheckVarTemplateId(), getPatternForClassTemplateSpecialization(), and clang::Sema::ResolveSingleFunctionTemplateSpecialization().
|
inline |
Definition at line 374 of file TemplateDeduction.h.
| void TemplateSpecCandidateSet::clear | ( | ) |
Clear out all of the candidates.
TODO: This may be unnecessary.
Definition at line 13334 of file SemaOverload.cpp.
|
inline |
Definition at line 378 of file TemplateDeduction.h.
|
inline |
Definition at line 375 of file TemplateDeduction.h.
|
inline |
Definition at line 366 of file TemplateDeduction.h.
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 13344 of file SemaOverload.cpp.
References clang::OverloadCandidateSet::begin(), clang::SemaBase::Diag(), clang::Sema::Diags, clang::OverloadCandidateSet::end(), clang::DiagnosticsEngine::getShowOverloads(), int, 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 389 of file TemplateDeduction.h.
References NoteCandidates(), and TemplateSpecCandidateSet().
|
delete |
References TemplateSpecCandidateSet().
|
inline |
Definition at line 377 of file TemplateDeduction.h.