clang API Documentation
#include <TemplateDeduction.h>
Public Types | |
typedef SmallVector < TemplateSpecCandidate, 16 > ::iterator | iterator |
Public Member Functions | |
TemplateSpecCandidateSet (SourceLocation Loc) | |
~TemplateSpecCandidateSet () | |
SourceLocation | getLocation () const |
void | clear () |
Clear out all of the candidates. TODO: This may be unnecessary. | |
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) |
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 250 of file TemplateDeduction.h.
typedef SmallVector<TemplateSpecCandidate, 16>::iterator clang::TemplateSpecCandidateSet::iterator |
Definition at line 270 of file TemplateDeduction.h.
clang::TemplateSpecCandidateSet::TemplateSpecCandidateSet | ( | SourceLocation | Loc | ) | [inline] |
Definition at line 261 of file TemplateDeduction.h.
Definition at line 262 of file TemplateDeduction.h.
Add a new candidate with NumConversions conversion sequence slots to the overload set.
Definition at line 279 of file TemplateDeduction.h.
Referenced by clang::Sema::CheckVarTemplateId(), and clang::Sema::InstantiateClassTemplateSpecialization().
iterator clang::TemplateSpecCandidateSet::begin | ( | ) | [inline] |
Definition at line 271 of file TemplateDeduction.h.
Referenced by NoteCandidates().
void TemplateSpecCandidateSet::clear | ( | ) |
Clear out all of the candidates. TODO: This may be unnecessary.
Definition at line 9666 of file SemaOverload.cpp.
bool clang::TemplateSpecCandidateSet::empty | ( | ) | const [inline] |
Definition at line 275 of file TemplateDeduction.h.
iterator clang::TemplateSpecCandidateSet::end | ( | ) | [inline] |
Definition at line 272 of file TemplateDeduction.h.
Referenced by NoteCandidates().
SourceLocation clang::TemplateSpecCandidateSet::getLocation | ( | ) | const [inline] |
Definition at line 264 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 9676 of file SemaOverload.cpp.
References begin(), clang::Sema::Diag(), clang::Sema::Diags, end(), clang::DiagnosticsEngine::getShowOverloads(), clang::TemplateSpecCandidate::NoteDeductionFailure(), clang::Ovl_Best, size(), and clang::TemplateSpecCandidate::Specialization.
Referenced by clang::Sema::getMostSpecialized(), and NoteCandidates().
void clang::TemplateSpecCandidateSet::NoteCandidates | ( | Sema & | S, |
SourceLocation | Loc | ||
) | const [inline] |
Definition at line 286 of file TemplateDeduction.h.
References NoteCandidates().
size_t clang::TemplateSpecCandidateSet::size | ( | ) | const [inline] |
Definition at line 274 of file TemplateDeduction.h.
Referenced by NoteCandidates().