| 248 | typename = std::enable_if_t<IsExprLike<LoopCondition>::value>, |
| 249 | typename = std::enable_if_t<IsExprLike<Result>::value>> |
| 250 | ABSL_MUST_USE_RESULT Expr |
| 251 | NewComprehension(IterVar iter_var, IterRange iter_range, AccuVar accu_var, |
| 252 | AccuInit accu_init, LoopCondition loop_condition, |
| 253 | LoopStep loop_step, Result result) { |
| 254 | return NewComprehension(NextId(), std::move(iter_var), |
| 255 | std::move(iter_range), std::move(accu_var), |
| 256 | std::move(accu_init), std::move(loop_condition), |
| 257 | std::move(loop_step), std::move(result)); |
| 258 | } |
| 259 | |
| 260 | template <typename IterVar, typename IterVar2, typename IterRange, |
| 261 | typename AccuVar, typename AccuInit, typename LoopCondition, |
no outgoing calls