Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0
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: