Home | History | Annotate | Download | only in Sema

Lines Matching refs:Pack

287   case TemplateArgument::Pack:
288 if (Y.getKind() != TemplateArgument::Pack ||
559 /// \brief Retrieve the depth and index of an unexpanded parameter pack.
588 // Save the deduced template arguments for each parameter pack expanded
589 // by this pack expansion, then clear out the deduction.
591 // Save the previously-deduced argument pack, then clear it out so that we
592 // can deduce a new argument pack.
599 // If the template argument pack was explicitly specified, add that to
628 // pack expansion.
631 // We were not able to deduce anything for this parameter pack,
632 // so just restore the saved argument pack.
640 // If we deduced an empty argument pack, create it now.
739 // parameter pack and the function parameter associated with P is not
740 // a function parameter pack, then template argument deduction fails.
758 // - A function parameter pack that does not occur at the end of the
765 // parameter pack, then the type of its declarator- id is compared with
768 // template parameter packs expanded by the function parameter pack.
771 // parameter packs expanded by the pack expansion.
787 assert(!PackIndices.empty() && "Pack expansion without unexpanded packs?");
789 // Keep track of the deduced template arguments for each parameter pack
790 // expanded by this pack expansion (the outer index) and for each
811 // Capture the deduced template arguments for each parameter pack expanded
812 // by this pack expansion, add them to the list of arguments we've deduced
813 // for that pack, then clear out the deduced argument.
824 // pack expansion.
912 // If the argument type is a pack expansion, look at its pattern.
1099 // pack, do nothing: we don't know which of its arguments to look
1596 // If the template argument is a pack expansion, perform template argument
1626 llvm_unreachable("caller should handle pack expansions");
1691 case TemplateArgument::Pack:
1713 if (Arg.getKind() != TemplateArgument::Pack)
1716 assert(ArgIdx == NumArgs - 1 && "Pack not at the end of argument list?");
1723 /// \brief Determine whether the given set of template arguments has a pack
1732 if (Args[ArgIdx].getKind() == TemplateArgument::Pack) {
1758 // If the template argument list of P contains a pack expansion that is not
1780 // but applied to pack expansions that are template arguments.
1796 // The parameter is a pack expansion.
1799 // If Pi is a pack expansion, then the pattern of Pi is compared with
1806 // parameter packs expanded by the pack expansion.
1821 assert(!PackIndices.empty() && "Pack expansion without unexpanded packs?");
1824 // and set any deduced parameter packs to an empty argument pack.
1827 // Save the deduced template arguments for each parameter pack expanded
1828 // by this pack expansion, then clear out the deduction.
1836 // Keep track of the deduced template arguments for each parameter pack
1837 // expanded by this pack expansion (the outer index) and for each
1849 // Capture the deduced template arguments for each parameter pack expanded
1850 // by this pack expansion, add them to the list of arguments we've deduced
1851 // for that pack, then clear out the deduced argument.
1864 // pack expansion.
1927 case TemplateArgument::Pack:
2014 case TemplateArgument::Pack:
2032 if (Arg.getKind() == TemplateArgument::Pack) {
2033 // This is a template argument pack, so check each of its arguments against
2049 // Move the converted template argument into our argument pack.
2054 // Create the resulting argument pack.
2351 // If we deduced template arguments for a template parameter pack,
2352 // note that the template argument pack is partially substituted and record
2354 // for this template parameter pack.
2357 if (Arg.getKind() == TemplateArgument::Pack) {
2441 if (Arg.getKind() == TemplateArgument::Pack)
2639 // A trailing template parameter pack (14.5.3) not otherwise deduced will
2644 // template parameter pack. If so, our empty deduction extends the
2654 // Forget the partially-substituted pack; it's substitution is now
3176 // For a function parameter pack that occurs at the end of the
3179 // function parameter pack. Each comparison deduces template arguments
3181 // the function parameter pack. For a function parameter pack that does
3183 // the parameter pack is a non-deduced context.
3202 assert(!PackIndices.empty() && "Pack expansion without unexpanded packs?");
3204 // Keep track of the deduced template arguments for each parameter pack
3205 // expanded by this pack expansion (the outer index) and for each
3262 // Capture the deduced template arguments for each parameter pack expanded
3263 // by this pack expansion, add them to the list of arguments we've deduced
3264 // for that pack, then clear out the deduced argument.
3275 // pack expansion.
3282 // After we've matching against a parameter pack, we're done.
3880 /// ends with a function parameter pack.
3891 // Make sure that no previous parameter is a parameter pack.
4231 // We can deduce from a pack expansion.
4423 // If the template argument list of P contains a pack expansion that is not
4465 // If the template argument list of P contains a pack expansion that is not
4572 case TemplateArgument::Pack:
4595 // If the template argument list of P contains a pack expansion that is not