Home | History | Annotate | Download | only in Sema

Lines Matching full:pack

98   /// pack.
212 /// \brief Determine whether we should expand a pack expansion with the
216 /// By default, the transformer never tries to expand pack expansions.
220 /// pack expansion.
223 /// the pack expansion.
229 /// expand the corresponding pack expansions into separate arguments. When
233 /// pack expansion after all of the expanded arguments. This is used
238 /// the expanded form of the corresponding pack expansion. This is both an
259 /// \brief "Forget" about the partially-substituted pack template argument,
260 /// when performing an instantiation that must preserve the parameter pack
268 /// \brief "Remember" the partially-substituted pack template argument
269 /// after performing an instantiation that must preserve the parameter pack
275 /// \brief Note to the derived class when a function parameter pack is
277 void ExpandingFunctionParameterPack(ParmVarDecl *Pack) { }
350 /// support for variadic templates by expanding any pack expansions (if the
351 /// derived class permits such expansion) along the way. When pack expansions
960 /// \brief Build a new pack expansion type.
1013 /// \brief Build a new template name given a template template parameter pack
2308 /// \brief Build a new expression to compute the length of a parameter pack.
2309 ExprResult RebuildSizeOfPackExpr(SourceLocation OperatorLoc, NamedDecl *Pack,
2315 OperatorLoc, Pack, PackLoc,
2319 OperatorLoc, Pack, PackLoc,
2537 /// \brief Build a new template argument pack expansion.
2539 /// By default, performs semantic analysis to build a new pack expansion
2567 case TemplateArgument::Pack:
2570 llvm_unreachable("Pack expansion pattern has no parameter packs");
2585 /// \brief Build a new expression pack expansion.
2587 /// By default, performs semantic analysis to build a new pack expansion
2776 assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
2793 // transformation on the pack expansion, producing another pack
3135 case TemplateArgument::Pack:
3150 case TemplateArgument::Pack:
3189 llvm_unreachable("Caller should expand pack expansions");
3279 if (In.getArgument().getKind() == TemplateArgument::Pack) {
3283 // TemplateArgumentLocInfo for the pack expansion would be usable for
3284 // all of the template arguments in the argument pack.
3299 // We have a pack expansion, for which we will be substituting into
3309 assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
3326 // transformation on the pack expansion, producing another pack
3360 // If we're supposed to retain a pack expansion, do so by temporarily
3361 // forgetting the partially-substituted parameter pack.
4084 // If we're substituting into a pack expansion type and we know the
4147 // We have a function parameter pack that may need to be expanded.
4173 // Expand the function parameter pack into multiple, separate
4191 // If we're supposed to retain a pack expansion, do so by temporarily
4192 // forgetting the partially-substituted parameter pack.
4214 // We're done with the pack expansion.
4218 // We'll substitute the parameter now without expanding the pack
4247 // We have a function parameter pack that may need to be expanded.
4264 // Expand the function parameter pack into multiple, separate
4277 // We're done with the pack expansion.
4281 // If we're supposed to retain a pack expansion, do so by temporarily
4282 // forgetting the partially-substituted parameter pack.
4294 // We'll substitute the parameter now without expanding the pack
7872 // We have a pack expansion. Instantiate it.
7894 // transformation on the pack expansion, producing another pack
7919 // Expand the pack expansion by substituting for each argument in the
7920 // pack(s).
7948 // If we're supposed to retain a pack expansion, do so by temporarily
7949 // forgetting the partially-substituted parameter pack.
8324 VarDecl *Pack = C->getCapturedVar();
8329 Pack));
8650 // produce a diagnostic when given only a single unexpanded parameter pack,
8665 NamedDecl *Pack = E->getPack();
8667 Pack = cast_or_null<NamedDecl>(getDerived().TransformDecl(E->getPackLoc(),
8668 Pack));
8669 if (!Pack)
8674 // We now know the length of the parameter pack, so build a new expression
8676 return getDerived().RebuildSizeOfPackExpr(E->getOperatorLoc(), Pack,
8773 // This key/value element is a pack expansion.
8777 assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
8796 // transformation on the pack expansion, producing another pack
8841 // pack expansion.
8849 // We've finished with this pack expansion.