clang  3.7.0
Public Member Functions | Public Attributes | List of all members
clang::TemplateSpecCandidate Struct Reference

#include <TemplateDeduction.h>

Collaboration diagram for clang::TemplateSpecCandidate:
[legend]

Public Member Functions

void set (Decl *Spec, DeductionFailureInfo Info)
 
void NoteDeductionFailure (Sema &S)
 Diagnose a template argument deduction failure. More...
 

Public Attributes

DeclSpecialization
 
DeductionFailureInfo DeductionFailure
 Template argument deduction info. More...
 

Detailed Description

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 225 of file TemplateDeduction.h.

Member Function Documentation

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 9739 of file SemaOverload.cpp.

References DeductionFailure, DiagnoseBadDeduction(), and Specialization.

Referenced by clang::TemplateSpecCandidateSet::NoteCandidates().

void clang::TemplateSpecCandidate::set ( Decl Spec,
DeductionFailureInfo  Info 
)
inline

Member Data Documentation

DeductionFailureInfo clang::TemplateSpecCandidate::DeductionFailure

Template argument deduction info.

Definition at line 231 of file TemplateDeduction.h.

Referenced by NoteDeductionFailure(), and 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 228 of file TemplateDeduction.h.

Referenced by GetLocationForCandidate(), clang::TemplateSpecCandidateSet::NoteCandidates(), NoteDeductionFailure(), and set().


The documentation for this struct was generated from the following files: