clang API Documentation

clang::Sema::TemplateDeductionInfo Class Reference

Provides information about an attempted template argument deduction, whose success or failure was described by a TemplateDeductionResult value. More...

#include <Sema.h>

Collaboration diagram for clang::Sema::TemplateDeductionInfo:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TemplateDeductionInfo (ASTContext &Context, SourceLocation Loc)
 ~TemplateDeductionInfo ()
SourceLocation getLocation () const
 Returns the location at which template argument is occuring.
TemplateArgumentListtake ()
 Take ownership of the deduced template argument list.
void reset (TemplateArgumentList *NewDeduced)
 Provide a new template argument list that contains the results of template argument deduction.

Public Attributes

TemplateParameter Param
 The template parameter to which a template argument deduction failure refers.
TemplateArgument FirstArg
 The first template argument to which the template argument deduction failure refers.
TemplateArgument SecondArg
 The second template argument to which the template argument deduction failure refers.

Detailed Description

Provides information about an attempted template argument deduction, whose success or failure was described by a TemplateDeductionResult value.

Definition at line 3378 of file Sema.h.


Constructor & Destructor Documentation

clang::Sema::TemplateDeductionInfo::TemplateDeductionInfo ( ASTContext Context,
SourceLocation  Loc 
) [inline]

Definition at line 3395 of file Sema.h.

clang::Sema::TemplateDeductionInfo::~TemplateDeductionInfo (  )  [inline]

Definition at line 3398 of file Sema.h.


Member Function Documentation

SourceLocation clang::Sema::TemplateDeductionInfo::getLocation (  )  const [inline]

Returns the location at which template argument is occuring.

Definition at line 3404 of file Sema.h.

Referenced by DeduceTemplateArguments().

void clang::Sema::TemplateDeductionInfo::reset ( TemplateArgumentList NewDeduced  )  [inline]

Provide a new template argument list that contains the results of template argument deduction.

Definition at line 3417 of file Sema.h.

Referenced by clang::Sema::FinishTemplateArgumentDeduction(), FinishTemplateArgumentDeduction(), and clang::Sema::SubstituteExplicitTemplateArguments().

TemplateArgumentList* clang::Sema::TemplateDeductionInfo::take (  )  [inline]

Take ownership of the deduced template argument list.

Definition at line 3409 of file Sema.h.

Referenced by clang::Sema::FinishTemplateArgumentDeduction(), clang::Sema::InstantiateClassTemplateSpecialization(), and clang::MakeDeductionFailureInfo().


Member Data Documentation

The first template argument to which the template argument deduction failure refers.

Depending on the result of the template argument deduction, this template argument may have different meanings:

TDK_Inconsistent: this argument is the first value deduced for the corresponding template parameter.

TDK_SubstitutionFailure: this argument is the template argument we were instantiating when we encountered an error.

TDK_NonDeducedMismatch: this is the template argument provided in the source code.

Definition at line 3449 of file Sema.h.

Referenced by DeduceNonTypeTemplateArgument(), DeduceTemplateArguments(), FinishTemplateArgumentDeduction(), and clang::MakeDeductionFailureInfo().

The template parameter to which a template argument deduction failure refers.

Depending on the result of template argument deduction, this template parameter may have different meanings:

TDK_Incomplete: this is the first template parameter whose corresponding template argument was not deduced.

TDK_Inconsistent: this is the template parameter for which two different template argument values were deduced.

Definition at line 3433 of file Sema.h.

Referenced by DeduceNonTypeTemplateArgument(), DeduceTemplateArguments(), clang::Sema::FinishTemplateArgumentDeduction(), FinishTemplateArgumentDeduction(), clang::MakeDeductionFailureInfo(), and clang::Sema::SubstituteExplicitTemplateArguments().

The second template argument to which the template argument deduction failure refers.

FIXME: Finish documenting this.

Definition at line 3455 of file Sema.h.

Referenced by DeduceNonTypeTemplateArgument(), DeduceTemplateArguments(), FinishTemplateArgumentDeduction(), and clang::MakeDeductionFailureInfo().


The documentation for this class was generated from the following file: