================
@@ -482,6 +507,56 @@ class DeducedTemplateStorage : public
UncommonTemplateNameStorage,
TemplateName Underlying, const DefaultArguments
&DefArgs);
};
+/// A structure for storing a pack-index-template-name ([temp.names]).
+///
+/// C++29 [temp.names]p1:
+/// pack-index-template-name:
+/// simple-template-name ... [ constant-expression ]
+class PackIndexingTemplateStorage final
+ : public UncommonTemplateNameStorage,
+ public llvm::FoldingSetNode,
+ private llvm::TrailingObjects<PackIndexingTemplateStorage, TemplateName>
{
+ friend class ASTContext;
+ friend TrailingObjects;
+
+ TemplateName Pattern;
+ Expr *IndexExpr;
+ bool FullySubstituted;
----------------
cor3ntin wrote:
I'm not sure this is an improvements, but... why not
https://github.com/llvm/llvm-project/pull/218738
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits