clang  19.0.0git
Public Member Functions | Public Attributes | List of all members
clang::DeductionFailureInfo Struct Reference

A structure used to record information about a failed template argument deduction, for diagnosis. More...

#include "clang/Sema/TemplateDeduction.h"

Public Member Functions

PartialDiagnosticAtgetSFINAEDiagnostic ()
 Retrieve the diagnostic which caused this deduction failure, if any. More...
 
TemplateParameter getTemplateParameter ()
 Retrieve the template parameter this deduction failure refers to, if any. More...
 
TemplateArgumentListgetTemplateArgumentList ()
 Retrieve the template argument list associated with this deduction failure, if any. More...
 
const TemplateArgumentgetFirstArg ()
 Return the first template argument this deduction failure refers to, if any. More...
 
const TemplateArgumentgetSecondArg ()
 Return the second template argument this deduction failure refers to, if any. More...
 
std::optional< unsignedgetCallArgIndex ()
 Return the index of the call argument that this deduction failure refers to, if any. More...
 
void Destroy ()
 Free any memory associated with this deduction failure. More...
 
TemplateDeductionResult getResult () const
 

Public Attributes

unsigned Result: 8
 A Sema::TemplateDeductionResult. More...
 
unsigned HasDiagnostic: 1
 Indicates whether a diagnostic is stored in Diagnostic. More...
 
void * Data
 Opaque pointer containing additional data about this deduction failure. More...
 
char Diagnostic [sizeof(PartialDiagnosticAt)]
 A diagnostic indicating why deduction failed. More...
 

Detailed Description

A structure used to record information about a failed template argument deduction, for diagnosis.

Definition at line 259 of file TemplateDeduction.h.

Member Function Documentation

◆ Destroy()

void DeductionFailureInfo::Destroy ( )

◆ getCallArgIndex()

std::optional< unsigned > DeductionFailureInfo::getCallArgIndex ( )

Return the index of the call argument that this deduction failure refers to, if any.

Definition at line 956 of file SemaOverload.cpp.

References Data, clang::DeducedMismatch, and clang::DeducedMismatchNested.

◆ getFirstArg()

const TemplateArgument * DeductionFailureInfo::getFirstArg ( )

◆ getResult()

TemplateDeductionResult clang::DeductionFailureInfo::getResult ( ) const
inline

Definition at line 300 of file TemplateDeduction.h.

References Result.

◆ getSecondArg()

const TemplateArgument * DeductionFailureInfo::getSecondArg ( )

◆ getSFINAEDiagnostic()

PartialDiagnosticAt * DeductionFailureInfo::getSFINAEDiagnostic ( )

Retrieve the diagnostic which caused this deduction failure, if any.

Definition at line 816 of file SemaOverload.cpp.

◆ getTemplateArgumentList()

TemplateArgumentList * DeductionFailureInfo::getTemplateArgumentList ( )

◆ getTemplateParameter()

TemplateParameter DeductionFailureInfo::getTemplateParameter ( )

Member Data Documentation

◆ Data

void* clang::DeductionFailureInfo::Data

Opaque pointer containing additional data about this deduction failure.

Definition at line 268 of file TemplateDeduction.h.

◆ Diagnostic

char clang::DeductionFailureInfo::Diagnostic[sizeof(PartialDiagnosticAt)]

A diagnostic indicating why deduction failed.

Definition at line 271 of file TemplateDeduction.h.

◆ HasDiagnostic

unsigned clang::DeductionFailureInfo::HasDiagnostic

Indicates whether a diagnostic is stored in Diagnostic.

Definition at line 264 of file TemplateDeduction.h.

◆ Result

unsigned clang::DeductionFailureInfo::Result

A Sema::TemplateDeductionResult.

Definition at line 261 of file TemplateDeduction.h.

Referenced by getResult(), and RankDeductionFailure().


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