Lines Matching refs:TemplateArgument
3028 const TemplateArgument &ArgPack) {
3030 for (TemplateArgument::pack_iterator P = ArgPack.pack_begin(),
3033 assert(P->getKind() == TemplateArgument::Type &&"Pack contains a non-type");
3124 SmallVector<TemplateArgument, 4> ArgVec;
3134 static bool hasAnyPackExpansions(const TemplateArgument *Args,
3146 const TemplateArgument *Args,
3175 sizeof(TemplateArgument) * NumArgs +
3188 const TemplateArgument *Args,
3199 SmallVector<TemplateArgument, 4> CanonArgs;
3217 sizeof(TemplateArgument) * NumArgs),
3319 SmallVector<TemplateArgument, 16> ArgCopy;
3333 const TemplateArgument *Args) const {
3353 SmallVector<TemplateArgument, 16> CanonArgs(NumArgs);
3371 sizeof(TemplateArgument) * NumArgs),
3986 TemplateArgument canonArgPack
4001 TemplateArgument
4002 ASTContext::getCanonicalTemplateArgument(const TemplateArgument &Arg) const {
4004 case TemplateArgument::Null:
4007 case TemplateArgument::Expression:
4010 case TemplateArgument::Declaration: {
4012 return TemplateArgument(D, Arg.isDeclForReferenceParam());
4015 case TemplateArgument::NullPtr:
4016 return TemplateArgument(getCanonicalType(Arg.getNullPtrType()),
4019 case TemplateArgument::Template:
4020 return TemplateArgument(getCanonicalTemplateName(Arg.getAsTemplate()));
4022 case TemplateArgument::TemplateExpansion:
4023 return TemplateArgument(getCanonicalTemplateName(
4027 case TemplateArgument::Integral:
4028 return TemplateArgument(Arg, getCanonicalType(Arg.getIntegralType()));
4030 case TemplateArgument::Type:
4031 return TemplateArgument(getCanonicalType(Arg.getAsType()));
4033 case TemplateArgument::Pack: {
4037 TemplateArgument *CanonArgs
4038 = new (*this) TemplateArgument[Arg.pack_size()];
4040 for (TemplateArgument::pack_iterator A = Arg.pack_begin(),
4045 return TemplateArgument(CanonArgs, Arg.pack_size());
6308 const TemplateArgument &ArgPack) const {