Home | History | Annotate | Download | only in Sema

Lines Matching defs:Pack

97   /// pack.
211 /// \brief Determine whether we should expand a pack expansion with the
215 /// By default, the transformer never tries to expand pack expansions.
219 /// pack expansion.
222 /// the pack expansion.
231 /// expand the corresponding pack expansions into separate arguments. When
235 /// pack expansion after all of the expanded arguments. This is used
240 /// the expanded form of the corresponding pack expansion. This is both an
261 /// \brief "Forget" about the partially-substituted pack template argument,
262 /// when performing an instantiation that must preserve the parameter pack
270 /// \brief "Remember" the partially-substituted pack template argument
271 /// after performing an instantiation that must preserve the parameter pack
277 /// \brief Note to the derived class when a function parameter pack is
279 void ExpandingFunctionParameterPack(ParmVarDecl *Pack) { }
333 /// support for variadic templates by expanding any pack expansions (if the
334 /// derived class permits such expansion) along the way. When pack expansions
933 /// \brief Build a new pack expansion type.
986 /// \brief Build a new template name given a template template parameter pack
2213 /// \brief Build a new expression to compute the length of a parameter pack.
2214 ExprResult RebuildSizeOfPackExpr(SourceLocation OperatorLoc, NamedDecl *Pack,
2220 OperatorLoc, Pack, PackLoc,
2224 OperatorLoc, Pack, PackLoc,
2445 /// \brief Build a new template argument pack expansion.
2447 /// By default, performs semantic analysis to build a new pack expansion
2475 case TemplateArgument::Pack:
2477 llvm_unreachable("Pack expansion pattern has no parameter packs");
2492 /// \brief Build a new expression pack expansion.
2494 /// By default, performs semantic analysis to build a new pack expansion
2603 assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
2621 // transformation on the pack expansion, producing another pack
2961 case TemplateArgument::Pack:
3034 llvm_unreachable("Caller should expand pack expansions");
3051 case TemplateArgument::Pack: {
3153 if (In.getArgument().getKind() == TemplateArgument::Pack) {
3157 // TemplateArgumentLocInfo for the pack expansion would be usable for
3158 // all of the template arguments in the argument pack.
3173 // We have a pack expansion, for which we will be substituting into
3183 assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
3200 // transformation on the pack expansion, producing another pack
3234 // If we're supposed to retain a pack expansion, do so by temporarily
3235 // forgetting the partially-substituted parameter pack.
3931 // If we're substituting into a pack expansion type and we know the
3995 // We have a function parameter pack that may need to be expanded.
4021 // Expand the function parameter pack into multiple, separate
4039 // If we're supposed to retain a pack expansion, do so by temporarily
4040 // forgetting the partially-substituted parameter pack.
4062 // We're done with the pack expansion.
4066 // We'll substitute the parameter now without expanding the pack
4097 // We have a function parameter pack that may need to be expanded.
4114 // Expand the function parameter pack into multiple, separate
4127 // We're done with the pack expansion.
4131 // If we're supposed to retain a pack expansion, do so by temporarily
4132 // forgetting the partially-substituted parameter pack.
4144 // We'll substitute the parameter now without expanding the pack
7582 // We have a pack expansion. Instantiate it.
7604 // transformation on the pack expansion, producing another pack
7629 // Expand the pack expansion by substituting for each argument in the
7630 // pack(s).
7645 // If we're supposed to retain a pack expansion, do so by temporarily
7646 // forgetting the partially-substituted parameter pack.
7969 VarDecl *Pack = C->getCapturedVar();
7974 Pack));
8295 // produce a diagnostic when given only a single unexpanded parameter pack,
8310 NamedDecl *Pack = E->getPack();
8312 Pack = cast_or_null<NamedDecl>(getDerived().TransformDecl(E->getPackLoc(),
8313 Pack));
8314 if (!Pack)
8319 // We now know the length of the parameter pack, so build a new expression
8321 return getDerived().RebuildSizeOfPackExpr(E->getOperatorLoc(), Pack,
8404 // This key/value element is a pack expansion.
8408 assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
8427 // transformation on the pack expansion, producing another pack
8472 // pack expansion.
8480 // We've finished with this pack expansion.