Check status of brancher, return true if alternatives left.
| 382 | public: |
| 383 | /// Check status of brancher, return true if alternatives left. |
| 384 | virtual bool status(const Space& home) const { |
| 385 | const SteelMill& sm = static_cast<const SteelMill&>(home); |
| 386 | for (unsigned int i = start; i < sm.norders; ++i) |
| 387 | if (!sm.slab[i].assigned()) { |
| 388 | start = i; |
| 389 | return true; |
| 390 | } |
| 391 | // No non-assigned orders left |
| 392 | return false; |
| 393 | } |
| 394 | /// Return choice |
| 395 | virtual Gecode::Choice* choice(Space& home) { |
| 396 | SteelMill& sm = static_cast<SteelMill&>(home); |