enum Sema::TemplateDeductionResult

Description

Describes the result of template argument deduction. The TemplateDeductionResult enumeration describes the result of template argument deduction, as returned from DeduceTemplateArguments(). The separate TemplateDeductionInfo structure provides additional information about the results of template argument deduction, e.g., the deduced template argument list (if successful) or the specific template parameters or deduced arguments that were involved in the failure.

Declared at: clang/include/clang/Sema/Sema.h:8694

Enumerators

NameValueComment
TDK_Success0Template argument deduction was successful.
TDK_Invalid1The declaration was invalid; do nothing.
TDK_InstantiationDepth2Template argument deduction exceeded the maximum template instantiation depth (which has already been diagnosed).
TDK_Incomplete3Template argument deduction did not deduce a value for every template parameter.
TDK_IncompletePack4Template argument deduction did not deduce a value for every expansion of an expanded template parameter pack.
TDK_Inconsistent5Template argument deduction produced inconsistent deduced values for the given template parameter.
TDK_Underqualified6Template argument deduction failed due to inconsistent cv-qualifiers on a template parameter type that would otherwise be deduced, e.g., we tried to deduce T in "const T" but were given a non-const "X".
TDK_SubstitutionFailure7Substitution of the deduced template argument values resulted in an error.
TDK_DeducedMismatch8After substituting deduced template arguments, a dependent parameter type did not match the corresponding argument.
TDK_DeducedMismatchNested9After substituting deduced template arguments, an element of a dependent parameter type did not match the corresponding element of the corresponding argument (when deducing from an initializer list).
TDK_NonDeducedMismatch10A non-depnedent component of the parameter did not match the corresponding component of the argument.
TDK_TooManyArguments11When performing template argument deduction for a function template, there were too many call arguments.
TDK_TooFewArguments12When performing template argument deduction for a function template, there were too few call arguments.
TDK_InvalidExplicitArguments13The explicitly-specified template arguments were not valid template arguments for the given template.
TDK_NonDependentConversionFailure14Checking non-dependent argument conversions failed.
TDK_ConstraintsNotSatisfied15The deduced arguments did not satisfy the constraints associated with the template.
TDK_MiscellaneousDeductionFailure16Deduction failed; that's all we know.
TDK_CUDATargetMismatch17CUDA Target attributes do not match.