Home | History | Annotate | Download | only in Sema

Lines Matching defs:Pack

667 /// \brief Retrieve the depth and index of a parameter pack.
733 void ExpandingFunctionParameterPack(ParmVarDecl *Pack) {
734 SemaRef.CurrentInstantiationScope->MakeInstantiatedLocalArgPack(Pack);
839 /// \brief Transforms an already-substituted template type parameter pack
840 /// into either itself (if we aren't substituting into its pack expansion)
888 assert(Arg.getKind() == TemplateArgument::Pack &&
889 "Missing argument pack");
932 assert(Arg.getKind() == TemplateArgument::Pack &&
933 "Missing argument pack");
1033 assert(Arg.getKind() == TemplateArgument::Pack &&
1034 "Missing argument pack");
1037 // We have the template argument pack to substitute, but we're not
1038 // actually expanding the enclosing pack expansion yet. So, just
1039 // keep the entire argument pack.
1068 "Pack substitution index out-of-range");
1112 assert(Arg.getKind() == TemplateArgument::Pack &&
1113 "Missing argument pack");
1116 // We have an argument pack, but we can't select a particular argument
1118 // argument pack.
1206 // We aren't expanding the parameter pack, so just return ourselves.
1292 assert(Arg.getKind() == TemplateArgument::Pack &&
1293 "Missing argument pack");
1296 // We have the template argument pack, but we're not expanding the
1297 // enclosing pack expansion yet. Just save the template argument
1298 // pack for later substitution.
1350 // We aren't expanding the parameter pack, so just return ourselves.
1539 // We have a function parameter pack. Substitute into the pattern of the
1548 // our function parameter is still a function parameter pack.
1549 // Therefore, make its type a pack expansion type.
1553 // We expected to get a parameter pack but didn't (because the type
1554 // itself is not a pack expansion type), so complain. This can occur when
1556 // pack expansion.
1598 // Add the new parameter to the instantiated parameter pack.
1656 // This is a pack expansion. See whether we should expand it now, or
1674 // If we should expand this pack expansion now, do so.
1703 // The resulting base specifier will (still) be a pack expansion.
2572 DeclArgumentPack *Pack = LocalDecls[D].get<DeclArgumentPack *>();
2573 Pack->push_back(Inst);
2579 DeclArgumentPack *Pack = new DeclArgumentPack;
2580 Stored = Pack;
2581 ArgumentPacks.push_back(Pack);
2584 void LocalInstantiationScope::SetPartiallySubstitutedPack(NamedDecl *Pack,
2587 assert((!PartiallySubstitutedPack || PartiallySubstitutedPack == Pack) &&
2588 "Already have a partially-substituted pack");
2591 "Wrong number of arguments in partially-substituted pack");
2592 PartiallySubstitutedPack = Pack;