A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/SemaTemplateDeduction_8cpp.html below:

clang: lib/Sema/SemaTemplateDeduction.cpp File Reference

namespace   clang   The JSON file list parser is used to communicate input to InstallAPI.
  enum   clang::TemplateDeductionFlags {
  clang::TDF_None = 0 , clang::TDF_ParamWithReferenceType = 0x1 , clang::TDF_IgnoreQualifiers = 0x02 , clang::TDF_DerivedClass = 0x04 ,
  clang::TDF_SkipNonDependent = 0x08 , clang::TDF_TopLevelParameterTypeList = 0x10 , clang::TDF_AllowCompatibleFunctionType = 0x20 , clang::TDF_ArgWithReferenceType = 0x40
}   Various flags that control template argument deduction. More...
  enum class   PartialOrderingKind { None , NonCall , Call }   The kind of PartialOrdering we're performing template argument deduction for (C++11 [temp.deduct.partial]). More...
  enum class   PackFold { ParameterToArgument , ArgumentToParameter , Both }   What directions packs are allowed to match non-packs. More...
  static bool  hasSameExtendedValue (llvm::APSInt X, llvm::APSInt Y)   Compare two APSInts, extending and switching the sign as necessary to compare their values regardless of underlying type.
  static TemplateDeductionResult  DeduceTemplateArgumentsByTypeMatch (Sema &S, TemplateParameterList *TemplateParams, QualType P, QualType A, TemplateDeductionInfo &Info, SmallVectorImpl< DeducedTemplateArgument > &Deduced, unsigned TDF, PartialOrderingKind POK, bool DeducedFromArrayBound, bool *HasDeducedAnyParam)   Deduce the template arguments by comparing the parameter type and the argument type (C++ [temp.deduct.type]).
  static TemplateDeductionResult  DeduceTemplateArguments (Sema &S, TemplateParameterList *TemplateParams, ArrayRef< TemplateArgument > Ps, ArrayRef< TemplateArgument > As, TemplateDeductionInfo &Info, SmallVectorImpl< DeducedTemplateArgument > &Deduced, bool NumberOfArgumentsMustMatch, bool PartialOrdering, PackFold PackFold, bool *HasDeducedAnyParam)   static void  MarkUsedTemplateParameters (ASTContext &Ctx, const TemplateArgument &TemplateArg, bool OnlyDeduced, unsigned Depth, llvm::SmallBitVector &Used)   Mark the template parameters that are used by this template argument.
  static void  MarkUsedTemplateParameters (ASTContext &Ctx, QualType T, bool OnlyDeduced, unsigned Depth, llvm::SmallBitVector &Used)   Mark the template parameters that are used by the given type.
  static const NonTypeTemplateParmDeclgetDeducedParameterFromExpr (const Expr *E, unsigned Depth)   If the given expression is of a form that permits the deduction of a non-type template parameter, return the declaration of that non-type template parameter.
  static const NonTypeTemplateParmDeclgetDeducedParameterFromExpr (TemplateDeductionInfo &Info, Expr *E)   static bool  isSameDeclaration (Decl *X, Decl *Y)   Determine whether two declaration pointers refer to the same declaration.
  static DeducedTemplateArgument  checkDeducedTemplateArguments (ASTContext &Context, const DeducedTemplateArgument &X, const DeducedTemplateArgument &Y, bool AggregateCandidateDeduction=false)   Verify that the given, deduced template arguments are compatible.
  static TemplateDeductionResult  DeduceNonTypeTemplateArgument (Sema &S, TemplateParameterList *TemplateParams, const NonTypeTemplateParmDecl *NTTP, const DeducedTemplateArgument &NewDeduced, QualType ValueType, TemplateDeductionInfo &Info, bool PartialOrdering, SmallVectorImpl< DeducedTemplateArgument > &Deduced, bool *HasDeducedAnyParam)   Deduce the value of the given non-type template parameter as the given deduced template argument.
  static TemplateDeductionResult  DeduceNonTypeTemplateArgument (Sema &S, TemplateParameterList *TemplateParams, const NonTypeTemplateParmDecl *NTTP, const llvm::APSInt &Value, QualType ValueType, bool DeducedFromArrayBound, TemplateDeductionInfo &Info, bool PartialOrdering, SmallVectorImpl< DeducedTemplateArgument > &Deduced, bool *HasDeducedAnyParam)   Deduce the value of the given non-type template parameter from the given integral constant.
  static TemplateDeductionResult  DeduceNullPtrTemplateArgument (Sema &S, TemplateParameterList *TemplateParams, const NonTypeTemplateParmDecl *NTTP, QualType NullPtrType, TemplateDeductionInfo &Info, bool PartialOrdering, SmallVectorImpl< DeducedTemplateArgument > &Deduced, bool *HasDeducedAnyParam)   Deduce the value of the given non-type template parameter from the given null pointer template argument type.
  static TemplateDeductionResult  DeduceNonTypeTemplateArgument (Sema &S, TemplateParameterList *TemplateParams, const NonTypeTemplateParmDecl *NTTP, Expr *Value, TemplateDeductionInfo &Info, bool PartialOrdering, SmallVectorImpl< DeducedTemplateArgument > &Deduced, bool *HasDeducedAnyParam)   Deduce the value of the given non-type template parameter from the given type- or value-dependent expression.
  static TemplateDeductionResult  DeduceNonTypeTemplateArgument (Sema &S, TemplateParameterList *TemplateParams, const NonTypeTemplateParmDecl *NTTP, ValueDecl *D, QualType T, TemplateDeductionInfo &Info, bool PartialOrdering, SmallVectorImpl< DeducedTemplateArgument > &Deduced, bool *HasDeducedAnyParam)   Deduce the value of the given non-type template parameter from the given declaration.
  static TemplateDeductionResult  DeduceTemplateArguments (Sema &S, TemplateParameterList *TemplateParams, TemplateName Param, TemplateName Arg, TemplateDeductionInfo &Info, ArrayRef< TemplateArgument > DefaultArguments, bool PartialOrdering, SmallVectorImpl< DeducedTemplateArgument > &Deduced, bool *HasDeducedAnyParam)   static const TemplateSpecializationTypegetLastTemplateSpecType (QualType QT)   Deduce the template arguments by comparing the template parameter type (which is a template-id) with the template argument type.
  static TemplateDeductionResult  DeduceTemplateSpecArguments (Sema &S, TemplateParameterList *TemplateParams, const QualType P, QualType A, TemplateDeductionInfo &Info, bool PartialOrdering, SmallVectorImpl< DeducedTemplateArgument > &Deduced, bool *HasDeducedAnyParam)   static bool  IsPossiblyOpaquelyQualifiedTypeInternal (const Type *T)   static bool  IsPossiblyOpaquelyQualifiedType (QualType T)   Determines whether the given type is an opaque type that might be more qualified when instantiated.
  static TemplateParameter  makeTemplateParameter (Decl *D)   Helper function to build a TemplateParameter when we don't know its type statically.
  template<class T > static TemplateDeductionResult  DeduceForEachType (Sema &S, TemplateParameterList *TemplateParams, ArrayRef< QualType > Params, ArrayRef< QualType > Args, TemplateDeductionInfo &Info, SmallVectorImpl< DeducedTemplateArgument > &Deduced, PartialOrderingKind POK, bool FinishingDeduction, T &&DeductFunc)   static TemplateDeductionResult  DeduceTemplateArguments (Sema &S, TemplateParameterList *TemplateParams, ArrayRef< QualType > Params, ArrayRef< QualType > Args, TemplateDeductionInfo &Info, SmallVectorImpl< DeducedTemplateArgument > &Deduced, unsigned TDF, PartialOrderingKind POK, bool *HasDeducedAnyParam, llvm::SmallBitVector *HasDeducedParam)   Deduce the template arguments by comparing the list of parameter types to the list of argument types, as in the parameter-type-lists of function types (C++ [temp.deduct.type]p10).
  static bool  hasInconsistentOrSupersetQualifiersOf (QualType ParamType, QualType ArgType)   Determine whether the parameter has qualifiers that the argument lacks.
  static unsigned  getFirstInnerIndex (FunctionTemplateDecl *FTD)   Get the index of the first template parameter that was originally from the innermost template-parameter-list.
  static bool  isForwardingReference (QualType Param, unsigned FirstInnerIndex)   Determine whether a type denotes a forwarding reference.
  static TemplateDeductionResult  DeduceTemplateBases (Sema &S, const CXXRecordDecl *RD, TemplateParameterList *TemplateParams, QualType P, TemplateDeductionInfo &Info, bool PartialOrdering, SmallVectorImpl< DeducedTemplateArgument > &Deduced, bool *HasDeducedAnyParam)   Attempt to deduce the template arguments by checking the base types according to (C++20 [temp.deduct.call] p4b3.
  static PartialOrderingKind  degradeCallPartialOrderingKind (PartialOrderingKind POK)   When propagating a partial ordering kind into a NonCall context, this is used to downgrade a 'Call' into a 'NonCall', so that the kind still reflects whether we are in a partial ordering context.
  static TemplateDeductionResult  DeduceTemplateArguments (Sema &S, TemplateParameterList *TemplateParams, const TemplateArgument &P, TemplateArgument A, TemplateDeductionInfo &Info, bool PartialOrdering, SmallVectorImpl< DeducedTemplateArgument > &Deduced, bool *HasDeducedAnyParam)   static bool  hasTemplateArgumentForDeduction (ArrayRef< TemplateArgument > &Args, unsigned &ArgIdx)   Determine whether there is a template argument to be used for deduction.
  static bool  hasPackExpansionBeforeEnd (ArrayRef< TemplateArgument > Args)   Determine whether the given set of template arguments has a pack expansion that is not the last template argument.
  static bool  isSameTemplateArg (ASTContext &Context, TemplateArgument X, const TemplateArgument &Y, bool PartialOrdering, bool PackExpansionMatchesPack=false)   Determine whether two template arguments are the same.
  static bool  ConvertDeducedTemplateArgument (Sema &S, NamedDecl *Param, DeducedTemplateArgument Arg, NamedDecl *Template, TemplateDeductionInfo &Info, bool IsDeduced, Sema::CheckTemplateArgumentInfo &CTAI)   Convert the given deduced template argument and add it to the set of fully-converted template arguments.
  template<typename TemplateDeclT > static TemplateDeductionResult  ConvertDeducedTemplateArguments (Sema &S, TemplateDeclT *Template, bool IsDeduced, SmallVectorImpl< DeducedTemplateArgument > &Deduced, TemplateDeductionInfo &Info, Sema::CheckTemplateArgumentInfo &CTAI, LocalInstantiationScope *CurrentInstantiationScope, unsigned NumAlreadyConverted, bool *IsIncomplete)   static DeclContextgetAsDeclContextOrEnclosing (Decl *D)   template<typename TemplateDeclT > static bool  DeducedArgsNeedReplacement (TemplateDeclT *Template)   template<> bool  DeducedArgsNeedReplacement< VarTemplatePartialSpecializationDecl > (VarTemplatePartialSpecializationDecl *Spec)   template<> bool  DeducedArgsNeedReplacement< ClassTemplatePartialSpecializationDecl > (ClassTemplatePartialSpecializationDecl *Spec)   template<typename TemplateDeclT > static TemplateDeductionResult  CheckDeducedArgumentConstraints (Sema &S, TemplateDeclT *Template, ArrayRef< TemplateArgument > SugaredDeducedArgs, ArrayRef< TemplateArgument > CanonicalDeducedArgs, TemplateDeductionInfo &Info)   template<typename T > static std::enable_if_t< IsPartialSpecialization< T >::value, TemplateDeductionResultFinishTemplateArgumentDeduction (Sema &S, T *Partial, bool IsPartialOrdering, ArrayRef< TemplateArgument > TemplateArgs, SmallVectorImpl< DeducedTemplateArgument > &Deduced, TemplateDeductionInfo &Info)   Complete template argument deduction for a partial specialization.
  static TemplateDeductionResult  FinishTemplateArgumentDeduction (Sema &S, TemplateDecl *Template, bool PartialOrdering, ArrayRef< TemplateArgument > TemplateArgs, SmallVectorImpl< DeducedTemplateArgument > &Deduced, TemplateDeductionInfo &Info)   Complete template argument deduction for a class or variable template, when partial ordering against a partial specialization.
  static TemplateDeductionResult  FinishTemplateArgumentDeduction (Sema &S, TemplateDecl *TD, SmallVectorImpl< DeducedTemplateArgument > &Deduced, TemplateDeductionInfo &Info)   Complete template argument deduction for DeduceTemplateArgumentsFromType.
  template<typename T > static std::enable_if_t< IsPartialSpecialization< T >::value, TemplateDeductionResultDeduceTemplateArguments (Sema &S, T *Partial, ArrayRef< TemplateArgument > TemplateArgs, TemplateDeductionInfo &Info)   Perform template argument deduction to determine whether the given template arguments match the given class or variable template partial specialization per C++ [temp.class.spec.match].
  static bool  isSimpleTemplateIdType (QualType T)   Determine whether the given type T is a simple-template-id type.
  static TemplateDeductionResult  CheckOriginalCallArgDeduction (Sema &S, TemplateDeductionInfo &Info, Sema::OriginalCallArg OriginalArg, QualType DeducedA)   Check whether the deduced argument type for a call to a function template matches the actual argument type per C++ [temp.deduct.call]p4.
  static unsigned  getPackIndexForParam (Sema &S, FunctionTemplateDecl *FunctionTemplate, const MultiLevelTemplateArgumentList &Args, unsigned ParamIdx)   Find the pack index for a particular parameter index in an instantiation of a function template with specific arguments.
  static TemplateDeductionResult  instantiateExplicitSpecifierDeferred (Sema &S, FunctionDecl *Specialization, const MultiLevelTemplateArgumentList &SubstArgs, TemplateDeductionInfo &Info, FunctionTemplateDecl *FunctionTemplate, ArrayRef< TemplateArgument > DeducedArgs)   static QualType  GetTypeOfFunction (Sema &S, const OverloadExpr::FindResult &R, FunctionDecl *Fn)   Gets the type of a function for template-argument-deducton purposes when it's considered as part of an overload set.
  static QualType  ResolveOverloadForDeduction (Sema &S, TemplateParameterList *TemplateParams, Expr *Arg, QualType ParamType, bool ParamWasReference, TemplateSpecCandidateSet *FailedTSC=nullptr)   Apply the deduction rules for overload sets.
  static bool  AdjustFunctionParmAndArgTypesForDeduction (Sema &S, TemplateParameterList *TemplateParams, unsigned FirstInnerIndex, QualType &ParamType, QualType &ArgType, Expr::Classification ArgClassification, Expr *Arg, unsigned &TDF, TemplateSpecCandidateSet *FailedTSC=nullptr)   Perform the adjustments to the parameter and argument types described in C++ [temp.deduct.call].
  static bool  hasDeducibleTemplateParameters (Sema &S, FunctionTemplateDecl *FunctionTemplate, QualType T)   static TemplateDeductionResult  DeduceTemplateArgumentsFromCallArgument (Sema &S, TemplateParameterList *TemplateParams, unsigned FirstInnerIndex, QualType ParamType, QualType ArgType, Expr::Classification ArgClassification, Expr *Arg, TemplateDeductionInfo &Info, SmallVectorImpl< DeducedTemplateArgument > &Deduced, SmallVectorImpl< Sema::OriginalCallArg > &OriginalCallArgs, bool DecomposedParam, unsigned ArgIdx, unsigned TDF, TemplateSpecCandidateSet *FailedTSC)   Perform template argument deduction per [temp.deduct.call] for a single parameter / argument pair.
  static TemplateDeductionResult  DeduceFromInitializerList (Sema &S, TemplateParameterList *TemplateParams, QualType AdjustedParamType, InitListExpr *ILE, TemplateDeductionInfo &Info, SmallVectorImpl< DeducedTemplateArgument > &Deduced, SmallVectorImpl< Sema::OriginalCallArg > &OriginalCallArgs, unsigned ArgIdx, unsigned TDF)   Attempt template argument deduction from an initializer list deemed to be an argument in a function call.
  static bool  CheckDeducedPlaceholderConstraints (Sema &S, const AutoType &Type, AutoTypeLoc TypeLoc, QualType Deduced)   static QualType  GetImplicitObjectParameterType (ASTContext &Context, const CXXMethodDecl *Method, QualType RawType, bool IsOtherRvr)   static TemplateDeductionResult  CheckDeductionConsistency (Sema &S, FunctionTemplateDecl *FTD, int ArgIdx, QualType P, QualType A, ArrayRef< TemplateArgument > DeducedArgs, bool CheckConsistency)   template<class T > static TemplateDeductionResult  FinishTemplateArgumentDeduction (Sema &S, FunctionTemplateDecl *FTD, SmallVectorImpl< DeducedTemplateArgument > &Deduced, TemplateDeductionInfo &Info, T &&CheckDeductionConsistency)   static bool  isAtLeastAsSpecializedAs (Sema &S, SourceLocation Loc, FunctionTemplateDecl *FT1, FunctionTemplateDecl *FT2, TemplatePartialOrderingContext TPOC, ArrayRef< QualType > Args1, ArrayRef< QualType > Args2, bool Args1Offset)   Determine whether the function template FT1 is at least as specialized as FT2.
  template<typename TemplateLikeDecl > static bool  isAtLeastAsSpecializedAs (Sema &S, QualType T1, QualType T2, TemplateLikeDecl *P2, TemplateDeductionInfo &Info)   Determine whether one partial specialization, P1, is at least as specialized than another, P2.
  template<typename TemplateLikeDecl , typename PrimaryDel > static TemplateLikeDecl *  getMoreSpecialized (Sema &S, QualType T1, QualType T2, TemplateLikeDecl *P1, PrimaryDel *P2, TemplateDeductionInfo &Info)   Returns the more specialized template specialization between T1/P1 and T2/P2.
  static void  MarkUsedTemplateParameters (ASTContext &Ctx, const Expr *E, bool OnlyDeduced, unsigned Depth, llvm::SmallBitVector &Used)   Mark the template parameters that are used by the given expression.
  static void  MarkUsedTemplateParameters (ASTContext &Ctx, NestedNameSpecifier *NNS, bool OnlyDeduced, unsigned Depth, llvm::SmallBitVector &Used)   Mark the template parameters that are used by the given nested name specifier.
  static void  MarkUsedTemplateParameters (ASTContext &Ctx, TemplateName Name, bool OnlyDeduced, unsigned Depth, llvm::SmallBitVector &Used)   Mark the template parameters that are used by the given template name.
 

Deduce the template arguments by comparing the parameter type and the argument type (C++ [temp.deduct.type]).

Parameters
S the semantic analysis object within which we are deducing TemplateParams the template parameters that we are deducing P the parameter type A the argument type Info information about the template argument deduction itself Deduced the deduced template arguments TDF bitwise OR of the TemplateDeductionFlags bits that describe how template argument deduction is performed. PartialOrdering Whether we're performing template argument deduction in the context of partial ordering (C++0x [temp.deduct.partial]).
Returns
the result of template argument deduction so far. Note that a "success" result means that template argument deduction has not yet failed, but it may still fail, later, for other reasons.

Definition at line 1541 of file SemaTemplateDeduction.cpp.

References clang::Sema::adjustMemberFunctionCC(), clang::ASTContext::BoolTy, checkDeducedTemplateArguments(), clang::Qualifiers::compatiblyIncludes(), clang::Sema::Context, clang::CT_Can, clang::CT_Cannot, clang::CT_Dependent, DeduceNonTypeTemplateArgument(), DeduceTemplateArguments(), DeduceTemplateArgumentsByTypeMatch(), DeduceTemplateBases(), DeduceTemplateSpecArguments(), degradeCallPartialOrderingKind(), clang::sema::TemplateDeductionInfo::FirstArg, clang::QualType::getAddressSpace(), clang::Type::getAs(), clang::ASTContext::getAsArrayType(), clang::ASTContext::getAsConstantArrayType(), clang::Type::getAsCXXRecordDecl(), clang::ASTContext::getAsDependentSizedArrayType(), clang::ASTContext::getAsIncompleteArrayType(), clang::Sema::getASTContext(), clang::QualType::getCanonicalType(), clang::Type::getCanonicalTypeInternal(), clang::DependentSizedMatrixType::getColumnExpr(), clang::Qualifiers::getCVRQualifiers(), clang::QualType::getCVRQualifiers(), clang::sema::TemplateDeductionInfo::getDeducedDepth(), getDeducedParameterFromExpr(), clang::NonTypeTemplateParmDecl::getDepth(), clang::MatrixType::getElementType(), clang::Expr::getIntegerConstantExpr(), clang::Decl::getKind(), clang::Sema::getLangOpts(), clang::sema::TemplateDeductionInfo::getLocation(), clang::ConstantMatrixType::getNumColumns(), clang::ConstantMatrixType::getNumRows(), clang::TemplateParameterList::getParam(), clang::Type::getPointeeType(), clang::PointerType::getPointeeType(), clang::ReferenceType::getPointeeType(), clang::ASTContext::getQualifiedType(), clang::QualType::getQualifiers(), clang::DependentSizedMatrixType::getRowExpr(), clang::PackIndexingType::getSelectedType(), clang::ASTContext::getSizeType(), clang::ASTContext::getTypeSize(), clang::ASTContext::getUnqualifiedArrayType(), clang::Qualifiers::hasAddressSpace(), hasInconsistentOrSupersetQualifiersOf(), clang::Qualifiers::hasNonTrivialObjCLifetime(), clang::Qualifiers::hasObjCGCAttr(), clang::Qualifiers::hasObjCLifetime(), clang::ASTContext::hasSameType(), clang::ASTContext::hasSameUnqualifiedType(), clang::PackIndexingType::hasSelectedType(), clang::IncompletePack, clang::Inconsistent, clang::ASTContext::IntTy, clang::Invalid, clang::Type::isArrayType(), clang::Sema::isCompleteType(), clang::Type::isDependentType(), isForwardingReference(), clang::Type::isFunctionType(), clang::Decl::isInvalidDecl(), clang::Type::isLValueReferenceType(), clang::Type::isObjCLifetimeType(), clang::Type::isPlaceholderType(), IsPossiblyOpaquelyQualifiedType(), clang::Type::isRecordType(), clang::Sema::isSameOrCompatibleFunctionType(), clang::Qualifiers::isStrictSupersetOf(), clang::isTargetAddressSpace(), clang::NonDeducedMismatch, clang::Qualifiers::OCL_ExplicitNone, clang::Qualifiers::OCL_Strong, clang::ASTContext::OverloadTy, P, clang::sema::TemplateDeductionInfo::Param, clang::Qualifiers::removeAddressSpace(), clang::ASTContext::removeAddrSpaceQualType(), clang::Qualifiers::removeCVRQualifiers(), clang::Qualifiers::removeObjCGCAttr(), clang::Qualifiers::removeObjCLifetime(), clang::Result, clang::sema::TemplateDeductionInfo::SecondArg, clang::Qualifiers::setCVRQualifiers(), clang::Qualifiers::setObjCLifetime(), clang::Success, clang::TDF_AllowCompatibleFunctionType, clang::TDF_ArgWithReferenceType, clang::TDF_DerivedClass, clang::TDF_IgnoreQualifiers, clang::TDF_ParamWithReferenceType, clang::TDF_SkipNonDependent, clang::TDF_TopLevelParameterTypeList, clang::toTargetAddressSpace(), clang::Underqualified, clang::ASTContext::UnsignedIntTy, and clang::Qualifiers::withoutObjCLifetime().

Referenced by DeduceNonTypeTemplateArgument(), clang::Sema::DeduceTemplateArguments(), DeduceTemplateArguments(), DeduceTemplateArgumentsByTypeMatch(), DeduceTemplateArgumentsFromCallArgument(), isAtLeastAsSpecializedAs(), and ResolveOverloadForDeduction().

template<typename TemplateLikeDecl , typename PrimaryDel >

Returns the more specialized template specialization between T1/P1 and T2/P2.

Parameters
T1 the type of the first template partial specialization T2 if IsMoreSpecialThanPrimaryCheck is true, the type of the second template partial specialization; otherwise, the type of the primary template. P1 the first template partial specialization P2 if IsMoreSpecialThanPrimaryCheck is true, the second template partial specialization; otherwise, the primary template.
Returns
- If IsMoreSpecialThanPrimaryCheck is true, returns P1 if P1 is more specialized, returns nullptr if P1 is not more specialized.

Definition at line 6367 of file SemaTemplateDeduction.cpp.

References clang::Sema::Context, clang::Sema::getASTContext(), clang::TemplateArgument::getKind(), clang::ASTContext::getLangOpts(), clang::Sema::IsAtLeastAsConstrained(), isAtLeastAsSpecializedAs(), clang::TemplateArgument::Pack, clang::TemplateArgument::pack_elements(), clang::TemplateArgument::pack_size(), clang::TemplateParameterList::size(), clang::Sema::TemplateParameterListsAreEqual(), and clang::Sema::TPL_TemplateParamsEquivalent.

Referenced by clang::Sema::getMoreSpecializedPartialSpecialization(), and clang::Sema::isMoreSpecializedThanPrimary().


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4