SteelMill::SteelMillBranch Class Reference

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)
| Return choice from e.
virtual ExecStatus | commit (Space &home, const Gecode::Choice &_c, unsigned int a)
| Perform commit for choice _c and alternative a.
virtual void | print (const Space &, const Gecode::Choice &_c, unsigned int a, std::ostream &o) const
| Print explanation.
virtual Actor * | copy (Space &home)
| 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, SteelMillBranch &b)
| Copy constructor.

## Protected Attributes

int | start
| Cache of first unassigned value.

## Detailed Description

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 351 of file steel-mill.cpp.

## Constructor & Destructor Documentation

## SteelMillBranch() [1/2]

SteelMill::SteelMillBranch::SteelMillBranch | ( | Home | home | ) |

inline protected

Construct brancher.

Definition at line 375 of file steel-mill.cpp.

## SteelMillBranch() [2/2]

SteelMill::SteelMillBranch::SteelMillBranch | ( | Space & | home,
|  | SteelMillBranch & | b )

inline protected

Copy constructor.

Definition at line 378 of file steel-mill.cpp.

## Member Function Documentation

## status()

virtual bool SteelMill::SteelMillBranch::status | ( | const Space & | home | ) | const

inline virtual

Check status of brancher, return true if alternatives left.

Implements Gecode::Brancher.

Definition at line 384 of file steel-mill.cpp.

## choice() [1/2]

virtual Gecode::Choice * SteelMill::SteelMillBranch::choice | ( | Space & | home | ) |

inline virtual

Return choice.

Implements Gecode::Brancher.

Definition at line 395 of file steel-mill.cpp.

## choice() [2/2]

virtual Choice * SteelMill::SteelMillBranch::choice | ( | const Space & | home,
|  | Archive & | e )

inline virtual

Return choice from e.

Implements Gecode::Brancher.

Definition at line 424 of file steel-mill.cpp.

## commit()

virtual ExecStatus SteelMill::SteelMillBranch::commit | ( | Space & | home,
|  | const Gecode::Choice & | _c,
|  | unsigned int | a )

inline virtual

Perform commit for choice _c and alternative a.

Implements Gecode::Brancher.

Definition at line 430 of file steel-mill.cpp.

## print()

virtual void SteelMill::SteelMillBranch::print | ( | const Space & | ,
|  | const Gecode::Choice & | _c,
|  | unsigned int | a,
|  | std::ostream & | o ) const

inline virtual

Print explanation.

Reimplemented from Gecode::Brancher.

Definition at line 442 of file steel-mill.cpp.

## copy()

virtual Actor * SteelMill::SteelMillBranch::copy | ( | Space & | home | ) |

inline virtual

Copy brancher.

Implements Gecode::Actor.

Definition at line 451 of file steel-mill.cpp.

## post()

void SteelMill::SteelMillBranch::post | ( | Home | home | ) |

inline static

Post brancher.

Definition at line 455 of file steel-mill.cpp.

## dispose()

virtual size_t SteelMill::SteelMillBranch::dispose | ( | Space & |  | ) |

inline virtual

Delete brancher and return its size.

Reimplemented from Gecode::Actor.

Definition at line 459 of file steel-mill.cpp.

## Member Data Documentation

## start

int SteelMill::SteelMillBranch::start

mutable protected

Cache of first unassigned value.

Definition at line 354 of file steel-mill.cpp.

The documentation for this class was generated from the following file:

- examples/steel-mill.cpp