clang API Documentation
#include <TemplateDeduction.h>
Public Member Functions | |
void | set (Decl *Spec, DeductionFailureInfo Info) |
void | NoteDeductionFailure (Sema &S) |
Diagnose a template argument deduction failure. | |
Public Attributes | |
Decl * | Specialization |
DeductionFailureInfo | DeductionFailure |
Template argument deduction info. |
TemplateSpecCandidate - This is a generalization of OverloadCandidate which keeps track of template argument deduction failure info, when handling explicit specializations (and instantiations) of templates beyond function overloading. For now, assume that the candidates are non-matching specializations. TODO: In the future, we may need to unify/generalize this with OverloadCandidate.
Definition at line 229 of file TemplateDeduction.h.
void TemplateSpecCandidate::NoteDeductionFailure | ( | Sema & | S | ) |
Diagnose a template argument deduction failure.
Diagnose a template argument deduction failure. We are treating these failures as overload failures due to bad deductions.
Definition at line 9655 of file SemaOverload.cpp.
References DeductionFailure, DiagnoseBadDeduction(), and Specialization.
Referenced by clang::TemplateSpecCandidateSet::NoteCandidates().
void clang::TemplateSpecCandidate::set | ( | Decl * | Spec, |
DeductionFailureInfo | Info | ||
) | [inline] |
Definition at line 237 of file TemplateDeduction.h.
References DeductionFailure, and Specialization.
Referenced by clang::Sema::CheckVarTemplateId(), and clang::Sema::InstantiateClassTemplateSpecialization().
Template argument deduction info.
Definition at line 235 of file TemplateDeduction.h.
Referenced by NoteDeductionFailure(), and set().
Specialization - The actual specialization that this candidate represents. When NULL, this may be a built-in candidate.
Definition at line 232 of file TemplateDeduction.h.
Referenced by GetLocationForCandidate(), clang::TemplateSpecCandidateSet::NoteCandidates(), NoteDeductionFailure(), and set().