Custom brancher for steel mill slab design. More...
Classes | |
class | Choice |
Choice More... |
Public Member Functions | |
virtual bool | status (const Space &home) const |
Check status of brancher, return true if alternatives left. | |
virtual Gecode::Choice * | choice (Space &home) |
Return choice. | |
virtual Choice * | choice (const Space &, Archive &e) |
virtual ExecStatus | commit (Space &home, const Gecode::Choice &_c, unsigned int a) |
Perform commit for choice _c and alternative a. | |
virtual Actor * | copy (Space &home, bool share) |
Copy brancher. | |
virtual size_t | dispose (Space &) |
Delete brancher and return its size. |
Static Public Member Functions | |
static void | post (Home home) |
Post brancher. |
Protected Member Functions | |
SteelMillBranch (Home home) | |
Construct brancher. | |
SteelMillBranch (Space &home, bool share, SteelMillBranch &b) | |
Copy constructor. |
Protected Attributes | |
int | start |
Cache of first unassigned value. |
Additional Inherited Members | |
![]() | |
virtual bool | status (const Space &home) const =0 |
Check status of brancher, return true if alternatives left. | |
virtual const Choice * | choice (Space &home)=0 |
Return choice. | |
virtual const Choice * | choice (const Space &home, Archive &e)=0 |
Return choice from e. | |
virtual ExecStatus | commit (Space &home, const Choice &c, unsigned int a)=0 |
Commit for choice c and alternative a. | |
unsigned int | id (void) const |
Return unsigned brancher id. | |
Brancher (Home home) | |
Constructor for creation. | |
Brancher (Space &home, bool share, Brancher &b) | |
Constructor for cloning b. | |
![]() | |
virtual Actor * | copy (Space &home, bool share)=0 |
Create copy. | |
virtual size_t | allocated (void) const |
Report size occupied by additionally datastructures. | |
virtual size_t | dispose (Space &home) |
Delete actor and return its size. | |
![]() | |
static void * | operator new (size_t s, Space &home) |
Allocate memory from space. | |
static void | operator delete (void *p, Space &home) |
No-op for exceptions. |
Custom brancher for steel mill slab design.
This class implements a custom brancher for SteelMill that considers all slabs with no order assigned to it currently to be symmetric.
Definition at line 319 of file steel-mill.cpp.
|
inlineprotected |
Construct brancher.
Definition at line 347 of file steel-mill.cpp.
|
inlineprotected |
Copy constructor.
Definition at line 350 of file steel-mill.cpp.
|
inlinevirtual |
Check status of brancher, return true if alternatives left.
Definition at line 356 of file steel-mill.cpp.
|
inlinevirtual |
Return choice.
Definition at line 367 of file steel-mill.cpp.
Definition at line 396 of file steel-mill.cpp.
|
inlinevirtual |
Perform commit for choice _c and alternative a.
Definition at line 402 of file steel-mill.cpp.
Copy brancher.
Definition at line 414 of file steel-mill.cpp.
|
inlinestatic |
Post brancher.
Definition at line 418 of file steel-mill.cpp.
|
inlinevirtual |
Delete brancher and return its size.
Definition at line 422 of file steel-mill.cpp.
|
mutableprotected |
Cache of first unassigned value.
Definition at line 322 of file steel-mill.cpp.