clang
3.9.0
|
TemplateSpecCandidateSet - A set of generalized overload candidates, used in template specializations. More...
#include <TemplateDeduction.h>
Public Types | |
typedef SmallVector < TemplateSpecCandidate, 16 > ::iterator | iterator |
Public Member Functions | |
TemplateSpecCandidateSet (SourceLocation Loc, bool ForTakingAddress=false) | |
~TemplateSpecCandidateSet () | |
SourceLocation | getLocation () const |
void | clear () |
Clear out all of the candidates. More... | |
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. More... | |
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. More... | |
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 272 of file TemplateDeduction.h.
Definition at line 297 of file TemplateDeduction.h.
|
inline |
Definition at line 287 of file TemplateDeduction.h.
|
inline |
Definition at line 289 of file TemplateDeduction.h.
|
inline |
Add a new candidate with NumConversions conversion sequence slots to the overload set.
Definition at line 306 of file TemplateDeduction.h.
Referenced by clang::Sema::CheckVarTemplateId(), and clang::Sema::InstantiateClassTemplateSpecialization().
|
inline |
Definition at line 298 of file TemplateDeduction.h.
Referenced by NoteCandidates().
void TemplateSpecCandidateSet::clear | ( | ) |
Clear out all of the candidates.
TODO: This may be unnecessary.
Definition at line 10199 of file SemaOverload.cpp.
|
inline |
Definition at line 302 of file TemplateDeduction.h.
|
inline |
Definition at line 299 of file TemplateDeduction.h.
Referenced by NoteCandidates().
|
inline |
Definition at line 291 of file TemplateDeduction.h.
Referenced by clang::Sema::CheckVarTemplateId(), and clang::Sema::InstantiateClassTemplateSpecialization().
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 10209 of file SemaOverload.cpp.
References begin(), clang::Sema::Diag(), clang::Sema::Diags, E, end(), clang::DiagnosticsEngine::getShowOverloads(), I, clang::TemplateSpecCandidate::NoteDeductionFailure(), clang::Ovl_Best, size(), and clang::TemplateSpecCandidate::Specialization.
Referenced by clang::Sema::getMostSpecialized(), and NoteCandidates().
|
inline |
Definition at line 313 of file TemplateDeduction.h.
References NoteCandidates().
|
inline |
Definition at line 301 of file TemplateDeduction.h.
Referenced by NoteCandidates().