clang API Documentation

Public Member Functions
PackDeductionScope Class Reference

A scope in which we're performing pack deduction. More...

List of all members.

Public Member Functions

 PackDeductionScope (Sema &S, TemplateParameterList *TemplateParams, SmallVectorImpl< DeducedTemplateArgument > &Deduced, TemplateDeductionInfo &Info, TemplateArgument Pattern)
 ~PackDeductionScope ()
void nextPackElement ()
 Move to deducing the next element in each pack that is being deduced.
Sema::TemplateDeductionResult finish (bool HasAnyArguments)
 Finish template argument deduction for a set of argument packs, producing the argument packs and checking for consistency with prior deductions.

Detailed Description

A scope in which we're performing pack deduction.

Definition at line 606 of file SemaTemplateDeduction.cpp.


Constructor & Destructor Documentation

PackDeductionScope::PackDeductionScope ( Sema S,
TemplateParameterList TemplateParams,
SmallVectorImpl< DeducedTemplateArgument > &  Deduced,
TemplateDeductionInfo Info,
TemplateArgument  Pattern 
) [inline]

Definition at line 658 of file SemaTemplateDeduction.cpp.


Member Function Documentation

Finish template argument deduction for a set of argument packs, producing the argument packs and checking for consistency with prior deductions.

Definition at line 680 of file SemaTemplateDeduction.cpp.

References checkDeducedTemplateArguments(), clang::Sema::Context, clang::TemplateArgument::getEmptyPack(), clang::TemplateArgument::isNull(), makeTemplateParameter(), S, clang::Sema::TDK_Inconsistent, and clang::Sema::TDK_Success.

Referenced by DeduceTemplateArguments(), and clang::Sema::DeduceTemplateArguments().

Move to deducing the next element in each pack that is being deduced.

Definition at line 664 of file SemaTemplateDeduction.cpp.

References clang::TemplateArgument::isNull().

Referenced by DeduceTemplateArguments(), and clang::Sema::DeduceTemplateArguments().


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