clang 20.0.0git
|
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. More...
#include "clang/Sema/TemplateDeduction.h"
Public Member Functions | |
void | set (DeclAccessPair Found, Decl *Spec, DeductionFailureInfo Info) |
void | NoteDeductionFailure (Sema &S, bool ForTakingAddress) |
Diagnose a template argument deduction failure. | |
Public Attributes | |
DeclAccessPair | FoundDecl |
The declaration that was looked up, together with its access. | |
Decl * | Specialization |
Specialization - The actual specialization that this candidate represents. | |
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 312 of file TemplateDeduction.h.
Diagnose a template argument deduction failure.
We are treating these failures as overload failures due to bad deductions.
Definition at line 12701 of file SemaOverload.cpp.
References DiagnoseBadDeduction(), and clang::Specialization.
Referenced by clang::TemplateSpecCandidateSet::NoteCandidates().
|
inline |
Definition at line 324 of file TemplateDeduction.h.
References DeductionFailure, clang::Found, FoundDecl, and Specialization.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::Sema::CheckVarTemplateId(), getPatternForClassTemplateSpecialization(), and clang::Sema::ResolveSingleFunctionTemplateSpecialization().
DeductionFailureInfo clang::TemplateSpecCandidate::DeductionFailure |
Template argument deduction info.
Definition at line 322 of file TemplateDeduction.h.
Referenced by set().
DeclAccessPair clang::TemplateSpecCandidate::FoundDecl |
The declaration that was looked up, together with its access.
Might be a UsingShadowDecl, but usually a FunctionTemplateDecl.
Definition at line 315 of file TemplateDeduction.h.
Referenced by set().
Decl* clang::TemplateSpecCandidate::Specialization |
Specialization - The actual specialization that this candidate represents.
When NULL, this may be a built-in candidate.
Definition at line 319 of file TemplateDeduction.h.
Referenced by GetLocationForCandidate(), clang::TemplateSpecCandidateSet::NoteCandidates(), and set().