struct TemplateSpecCandidate

Declaration

struct TemplateSpecCandidate { /* full declaration omitted */ };

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.

Declared at: clang/include/clang/Sema/TemplateDeduction.h:290

Member Variables

public clang::DeclAccessPair FoundDecl
The declaration that was looked up, together with its access. Might be a UsingShadowDecl, but usually a FunctionTemplateDecl.
public clang::Decl* Specialization
Specialization - The actual specialization that this candidate represents. When NULL, this may be a built-in candidate.
public clang::DeductionFailureInfo DeductionFailure
Template argument deduction info

Method Overview

  • public void NoteDeductionFailure(clang::Sema & S, bool ForTakingAddress)
  • public void set(clang::DeclAccessPair Found, clang::Decl * Spec, clang::DeductionFailureInfo Info)

Methods

void NoteDeductionFailure(clang::Sema& S,
                          bool ForTakingAddress)

Description

Diagnose a template argument deduction failure.

Declared at: clang/include/clang/Sema/TemplateDeduction.h:309

Parameters

clang::Sema& S
bool ForTakingAddress

void set(clang::DeclAccessPair Found,
         clang::Decl* Spec,
         clang::DeductionFailureInfo Info)

Declared at: clang/include/clang/Sema/TemplateDeduction.h:302

Parameters

clang::DeclAccessPair Found
clang::Decl* Spec
clang::DeductionFailureInfo Info