Fetches another batch from the task queue. Starts the task if not started yet.
| 323 | /// Fetches another batch from the task queue. |
| 324 | /// Starts the task if not started yet. |
| 325 | bool moveNext() override { |
| 326 | start(); |
| 327 | if (error_) { |
| 328 | std::rethrow_exception(error_); |
| 329 | } |
| 330 | |
| 331 | // Task might be aborted before start. |
| 332 | checkTaskError(); |
| 333 | current_ = queue_->dequeue(); |
| 334 | |
| 335 | checkTaskError(); |
| 336 | if (!current_) { |
| 337 | atEnd_ = true; |
| 338 | } |
| 339 | return current_ != nullptr; |
| 340 | } |
| 341 | |
| 342 | void setNoMoreSplits() override { |
| 343 | BOLT_CHECK(!noMoreSplits_); |
no test coverage detected