| 6256 | |
| 6257 | template<typename T, typename... Ts> |
| 6258 | constexpr auto with(T && x, Ts &&... xs) const |
| 6259 | { |
| 6260 | BOOST_PARSER_ASSERT( |
| 6261 | (detail::is_nope_v<ParamsTuple> && |
| 6262 | "If you're seeing this, you tried to chain calls on a rule, " |
| 6263 | "like 'rule.with(foo).with(bar)'. Quit it!'")); |
| 6264 | using params_tuple_type = decltype(detail::hl::make_tuple( |
| 6265 | static_cast<T &&>(x), static_cast<Ts &&>(xs)...)); |
| 6266 | using rule_parser_type = rule_parser< |
| 6267 | false, |
| 6268 | TagType, |
| 6269 | Attribute, |
| 6270 | LocalState, |
| 6271 | params_tuple_type>; |
| 6272 | using result_type = parser_interface<rule_parser_type>; |
| 6273 | return result_type{rule_parser_type{ |
| 6274 | this->parser_.diagnostic_text_, |
| 6275 | detail::hl::make_tuple( |
| 6276 | static_cast<T &&>(x), static_cast<Ts &&>(xs)...)}}; |
| 6277 | } |
| 6278 | }; |
| 6279 | |
| 6280 | template< |
no test coverage detected