Gecode::Int::Unary::ManFlexTask Class Reference

Unary (mandatory) task with flexible processing time More...

`#include <unary.hh>`

## Protected Attributes

Int::IntView | _s
| Start time.
Int::IntView | _p
| Processing time.
Int::IntView | _e
| End time.

## Constructors and initialization

| ManFlexTask (void)
| Default constructor.
| ManFlexTask (IntVar s, IntVar p, IntVar e)
| Initialize with start time s, processing time p, end time e.
void | init (IntVar s, IntVar p, IntVar e)
| Initialize with start time s, processing time p, end time e.
void | init (const ManFlexTask &t)
| Initialize from task t.

## Value access

int | est (void) const
| Return earliest start time.
int | ect (void) const
| Return earliest completion time.
int | lst (void) const
| Return latest start time.
int | lct (void) const
| Return latest completion time.
int | pmin (void) const
| Return minimum processing time.
int | pmax (void) const
| Return maximum processing time.
IntVar | st (void) const
| Return start time.
IntVar | p (void) const
| Return processing time.
IntVar | e (void) const
| Return end time.
bool | mandatory (void) const
| Whether task is mandatory.
bool | excluded (void) const
| Whether task is excluded.
bool | optional (void) const
| Whether task can still be optional.

## Domain tests

bool | assigned (void) const
| Test whether task is assigned.

## Value update

ModEvent | est (Space &home, int n)
| Update earliest start time to n.
ModEvent | ect (Space &home, int n)
| Update earliest completion time to n.
ModEvent | lst (Space &home, int n)
| Update latest start time to n.
ModEvent | lct (Space &home, int n)
| Update latest completion time to n.
ModEvent | norun (Space &home, int e, int l)
| Update such that task cannot run from e to l.
ModEvent | mandatory (Space &home)
| Mark task as mandatory.
ModEvent | excluded (Space &home)
| Mark task as excluded.

## Cloning

void | update (Space &home, ManFlexTask &t)
| Update this task to be a clone of task t.

## Dependencies

void | subscribe (Space &home, Propagator &p, PropCond pc)
| Subscribe propagator p to task.
void | cancel (Space &home, Propagator &p, PropCond pc)
| Cancel subscription of propagator p for task.
void | reschedule (Space &home, Propagator &p, PropCond pc)
| Schedule propagator p.

## Detailed Description

Unary (mandatory) task with flexible processing time

Definition at line 270 of file unary.hh.

## Constructor & Destructor Documentation

## ManFlexTask() [1/2]

ManFlexTask::ManFlexTask | ( | void |  | ) |

inline

Default constructor.

Definition at line 317 of file task.hpp.

## ManFlexTask() [2/2]

ManFlexTask::ManFlexTask | ( | IntVar | s,
|  | IntVar | p,
|  | IntVar | e )

inline

Initialize with start time s, processing time p, end time e.

Definition at line 319 of file task.hpp.

## Member Function Documentation

## init() [1/2]

void ManFlexTask::init | ( | IntVar | s,
|  | IntVar | p,
|  | IntVar | e )

inline

Initialize with start time s, processing time p, end time e.

Definition at line 322 of file task.hpp.

## init() [2/2]

void ManFlexTask::init | ( | const ManFlexTask & | t | ) |

inline

Initialize from task t.

Definition at line 326 of file task.hpp.

## est() [1/2]

int ManFlexTask::est | ( | void |  | ) | const

inline

Return earliest start time.

Definition at line 331 of file task.hpp.

## ect() [1/2]

int ManFlexTask::ect | ( | void |  | ) | const

inline

Return earliest completion time.

Definition at line 335 of file task.hpp.

## lst() [1/2]

int ManFlexTask::lst | ( | void |  | ) | const

inline

Return latest start time.

Definition at line 339 of file task.hpp.

## lct() [1/2]

int ManFlexTask::lct | ( | void |  | ) | const

inline

Return latest completion time.

Definition at line 343 of file task.hpp.

## pmin()

int ManFlexTask::pmin | ( | void |  | ) | const

inline

Return minimum processing time.

Definition at line 347 of file task.hpp.

## pmax()

int ManFlexTask::pmax | ( | void |  | ) | const

inline

Return maximum processing time.

Definition at line 351 of file task.hpp.

## st()

IntVar ManFlexTask::st | ( | void |  | ) | const

inline

Return start time.

Definition at line 355 of file task.hpp.

## p()

IntVar ManFlexTask::p | ( | void |  | ) | const

inline

Return processing time.

Definition at line 359 of file task.hpp.

## e()

IntVar ManFlexTask::e | ( | void |  | ) | const

inline

Return end time.

Definition at line 363 of file task.hpp.

## mandatory() [1/2]

bool ManFlexTask::mandatory | ( | void |  | ) | const

inline

Whether task is mandatory.

Definition at line 368 of file task.hpp.

## excluded() [1/2]

bool ManFlexTask::excluded | ( | void |  | ) | const

inline

Whether task is excluded.

Definition at line 372 of file task.hpp.

## optional()

bool ManFlexTask::optional | ( | void |  | ) | const

inline

Whether task can still be optional.

Definition at line 376 of file task.hpp.

## assigned()

bool ManFlexTask::assigned | ( | void |  | ) | const

inline

Test whether task is assigned.

Definition at line 381 of file task.hpp.

## est() [2/2]

ModEvent ManFlexTask::est | ( | Space & | home,
|  | int | n )

inline

Update earliest start time to n.

Definition at line 386 of file task.hpp.

## ect() [2/2]

ModEvent ManFlexTask::ect | ( | Space & | home,
|  | int | n )

inline

Update earliest completion time to n.

Definition at line 390 of file task.hpp.

## lst() [2/2]

ModEvent ManFlexTask::lst | ( | Space & | home,
|  | int | n )

inline

Update latest start time to n.

Definition at line 394 of file task.hpp.

## lct() [2/2]

ModEvent ManFlexTask::lct | ( | Space & | home,
|  | int | n )

inline

Update latest completion time to n.

Definition at line 398 of file task.hpp.

## norun()

ModEvent ManFlexTask::norun | ( | Space & | home,
|  | int | e,
|  | int | l )

inline

Update such that task cannot run from e to l.

Definition at line 402 of file task.hpp.

## mandatory() [2/2]

ModEvent ManFlexTask::mandatory | ( | Space & | home | ) |

inline

Mark task as mandatory.

Definition at line 416 of file task.hpp.

## excluded() [2/2]

ModEvent ManFlexTask::excluded | ( | Space & | home | ) |

inline

Mark task as excluded.

Definition at line 420 of file task.hpp.

## update()

void ManFlexTask::update | ( | Space & | home,
|  | ManFlexTask & | t )

inline

Update this task to be a clone of task t.

Definition at line 425 of file task.hpp.

## subscribe()

void ManFlexTask::subscribe | ( | Space & | home,
|  | Propagator & | p,
|  | PropCond | pc )

inline

Subscribe propagator p to task.

Definition at line 432 of file task.hpp.

## cancel()

void ManFlexTask::cancel | ( | Space & | home,
|  | Propagator & | p,
|  | PropCond | pc )

inline

Cancel subscription of propagator p for task.

Definition at line 438 of file task.hpp.

## reschedule()

void ManFlexTask::reschedule | ( | Space & | home,
|  | Propagator & | p,
|  | PropCond | pc )

inline

Schedule propagator p.

Definition at line 444 of file task.hpp.

## Member Data Documentation

## _s

Int::IntView Gecode::Int::Unary::ManFlexTask::_s

protected

Start time.

Definition at line 273 of file unary.hh.

## _p

Int::IntView Gecode::Int::Unary::ManFlexTask::_p

protected

Processing time.

Definition at line 275 of file unary.hh.

## _e

Int::IntView Gecode::Int::Unary::ManFlexTask::_e

protected

End time.

Definition at line 277 of file unary.hh.

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

- gecode/int/unary.hh
- gecode/int/unary/task.hpp