Lines Matching full:pack
96 /// pack.
205 /// \brief Determine whether we should expand a pack expansion with the
209 /// By default, the transformer never tries to expand pack expansions.
213 /// pack expansion.
216 /// the pack expansion.
225 /// expand the corresponding pack expansions into separate arguments. When
229 /// pack expansion after all of the expanded arguments. This is used
234 /// the expanded form of the corresponding pack expansion. This is both an
256 /// \brief "Forget" about the partially-substituted pack template argument,
257 /// when performing an instantiation that must preserve the parameter pack
265 /// \brief "Remember" the partially-substituted pack template argument
266 /// after performing an instantiation that must preserve the parameter pack
272 /// \brief Note to the derived class when a function parameter pack is
274 void ExpandingFunctionParameterPack(ParmVarDecl *Pack) { }
328 /// support for variadic templates by expanding any pack expansions (if the
329 /// derived class permits such expansion) along the way. When pack expansions
896 /// \brief Build a new pack expansion type.
943 /// \brief Build a new template name given a template template parameter pack
2116 pack.
2117 ExprResult RebuildSizeOfPackExpr(SourceLocation OperatorLoc, NamedDecl *Pack,
2122 OperatorLoc, Pack, PackLoc,
2304 /// \brief Build a new template argument pack expansion.
2306 /// By default, performs semantic analysis to build a new pack expansion
2334 case TemplateArgument::Pack:
2336 llvm_unreachable("Pack expansion pattern has no parameter packs");
2351 /// \brief Build a new expression pack expansion.
2353 /// By default, performs semantic analysis to build a new pack expansion
2443 assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
2462 // transformation on the pack expansion, producing another pack
2801 case TemplateArgument::Pack:
2873 llvm_unreachable("Caller should expand pack expansions");
2889 case TemplateArgument::Pack: {
2991 if (In.getArgument().getKind() == TemplateArgument::Pack) {
2995 // TemplateArgumentLocInfo for the pack expansion would be usable for
2996 // all of the template arguments in the argument pack.
3011 // We have a pack expansion, for which we will be substituting into
3021 assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
3039 // transformation on the pack expansion, producing another pack
3073 // If we're supposed to retain a pack expansion, do so by temporarily
3074 // forgetting the partially-substituted parameter pack.
3760 // If we're substituting into a pack expansion type and we know the
3823 // We have a function parameter pack that may need to be expanded.
3850 // Expand the function parameter pack into multiple, separate
3867 // If we're supposed to retain a pack expansion, do so by temporarily
3868 // forgetting the partially-substituted parameter pack.
3889 // We're done with the pack expansion.
3893 // We'll substitute the parameter now without expanding the pack
3922 // We have a function parameter pack that may need to be expanded.
3940 // Expand the function parameter pack into multiple, separate
3953 // We're done with the pack expansion.
3957 // If we're supposed to retain a pack expansion, do so by temporarily
3958 // forgetting the partially-substituted parameter pack.
3970 // We'll substitute the parameter now without expanding the pack
7636 // produce a diagnostic when given only a single unexpanded parameter pack,
7651 // We now know the length of the parameter pack, so build a new expression