Home | History | Annotate | Download | only in Sema

Lines Matching full:pack

291   case TemplateArgument::Pack:
292 if (Y.getKind() != TemplateArgument::Pack ||
563 /// \brief Retrieve the depth and index of an unexpanded parameter pack.
595 // Save the deduced template arguments for each parameter pack expanded
596 // by this pack expansion, then clear out the deduction.
598 // Save the previously-deduced argument pack, then clear it out so that we
599 // can deduce a new argument pack.
606 // If the template argument pack was explicitly specified, add that to
634 // pack expansion.
637 // We were not able to deduce anything for this parameter pack,
638 // so just restore the saved argument pack.
646 // If we deduced an empty argument pack, create it now.
745 // parameter pack and the function parameter associated with P is not
746 // a function parameter pack, then template argument deduction fails.
764 // - A function parameter pack that does not occur at the end of the
771 // parameter pack, then the type of its declarator- id is compared with
774 // template parameter packs expanded by the function parameter pack.
777 // parameter packs expanded by the pack expansion.
793 assert(!PackIndices.empty() && "Pack expansion without unexpanded packs?");
795 // Keep track of the deduced template arguments for each parameter pack
796 // expanded by this pack expansion (the outer index) and for each
816 // Capture the deduced template arguments for each parameter pack expanded
817 // by this pack expansion, add them to the list of arguments we've deduced
818 // for that pack, then clear out the deduced argument.
829 // pack expansion.
943 // If the argument type is a pack expansion, look at its pattern.
1130 // pack, do nothing: we don't know which of its arguments to look
1640 // If the template argument is a pack expansion, perform template argument
1670 llvm_unreachable("caller should handle pack expansions");
1735 case TemplateArgument::Pack:
1757 if (Arg.getKind() != TemplateArgument::Pack)
1760 assert(ArgIdx == NumArgs - 1 && "Pack not at the end of argument list?");
1767 /// \brief Determine whether the given set of template arguments has a pack
1776 if (Args[ArgIdx].getKind() == TemplateArgument::Pack) {
1802 // If the template argument list of P contains a pack expansion that is not
1824 // but applied to pack expansions that are template arguments.
1840 // The parameter is a pack expansion.
1843 // If Pi is a pack expansion, then the pattern of Pi is compared with
1850 // parameter packs expanded by the pack expansion.
1865 assert(!PackIndices.empty() && "Pack expansion without unexpanded packs?");
1868 // and set any deduced parameter packs to an empty argument pack.
1871 // Save the deduced template arguments for each parameter pack expanded
1872 // by this pack expansion, then clear out the deduction.
1879 // Keep track of the deduced template arguments for each parameter pack
1880 // expanded by this pack expansion (the outer index) and for each
1892 // Capture the deduced template arguments for each parameter pack expanded
1893 // by this pack expansion, add them to the list of arguments we've deduced
1894 // for that pack, then clear out the deduced argument.
1907 // pack expansion.
1970 case TemplateArgument::Pack:
2057 case TemplateArgument::Pack:
2076 if (Arg.getKind() == TemplateArgument::Pack) {
2077 // This is a template argument pack, so check each of its arguments against
2093 // Move the converted template argument into our argument pack.
2098 // Create the resulting argument pack.
2549 // If we deduced template arguments for a template parameter pack,
2550 // note that the template argument pack is partially substituted and record
2552 // for this template parameter pack.
2555 if (Arg.getKind() == TemplateArgument::Pack) {
2639 if (Arg.getKind() == TemplateArgument::Pack)
2837 // A trailing template parameter pack (14.5.3) not otherwise deduced will
2842 // template parameter pack. If so, our empty deduction extends the
2852 // Forget the partially-substituted pack; it's substitution is now
3381 // For a function parameter pack that occurs at the end of the
3384 // function parameter pack. Each comparison deduces template arguments
3386 // the function parameter pack. For a function parameter pack that does
3388 // the parameter pack is a non-deduced context.
3407 assert(!PackIndices.empty() && "Pack expansion without unexpanded packs?");
3409 // Keep track of the deduced template arguments for each parameter pack
3410 // expanded by this pack expansion (the outer index) and for each
3466 // Capture the deduced template arguments for each parameter pack expanded
3467 // by this pack expansion, add them to the list of arguments we've deduced
3468 // for that pack, then clear out the deduced argument.
3479 // pack expansion.
3486 // After we've matching against a parameter pack, we're done.
4134 /// ends with a function parameter pack.
4145 // Make sure that no previous parameter is a parameter pack.
4537 // We can deduce from a pack expansion.
4729 // If the template argument list of P contains a pack expansion that is not
4771 // If the template argument list of P contains a pack expansion that is not
4878 case TemplateArgument::Pack:
4901 // If the template argument list of P contains a pack expansion that is not