Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0
Gecode::Int::Unary::OmegaLambdaTree< TaskView > Class Template Reference

Omega-lambda trees for computing ect of task sets. More...

#include <unary.hh>

Public Member Functions

 OmegaLambdaTree (Region &r, const TaskViewArray< TaskView > &t, bool inc=true)
 Initialize tree for tasks t with all tasks included, if inc is true.
 
void shift (int i)
 Shift task with index i from omega to lambda.
 
void oinsert (int i)
 Insert task with index i to omega.
 
void linsert (int i)
 Insert task with index i to lambda.
 
void lremove (int i)
 Remove task with index i from lambda.
 
bool lempty (void) const
 Whether has responsible task.
 
int responsible (void) const
 Return responsible task.
 
int ect (void) const
 Return earliest completion time of all tasks.
 
int lect (void) const
 Return earliest completion time of all tasks excluding lambda tasks.
 

Additional Inherited Members

- Protected Member Functions inherited from Gecode::Int::TaskTree< TaskView, OmegaLambdaNode >
int n_inner (void) const
 Return number of inner nodes.
 
int n_nodes (void) const
 Return number of nodes for balanced binary tree.
 
bool n_leaf (int i) const
 Whether node i is leaf.
 
OmegaLambdaNode & leaf (int i)
 Return leaf for task i.
 
const OmegaLambdaNode & root (void) const
 Return root node.
 
void update (int i, bool l=true)
 Update tree after leaf for task i has changed (l whether i refers to a leaf)
 
void update (void)
 Update all inner nodes of tree after leaves have been initialized.
 
void init (void)
 Initialize tree after leaves have been initialized.
 
 TaskTree (Region &r, const TaskViewArray< TaskView > &t)
 Initialize tree for tasks t.
 
 TaskTree (Region &r, const TaskTree< TaskView, Node2 > &t)
 Initialize tree using tree t.
 
- Static Protected Member Functions inherited from Gecode::Int::TaskTree< TaskView, OmegaLambdaNode >
static bool n_root (int i)
 Whether node i is index of root.
 
static int n_left (int i)
 Return index of left child of node i.
 
static bool left (int i)
 Test whether node i is a left child.
 
static int n_right (int i)
 Return index of right child of node i.
 
static bool right (int i)
 Test whether node i is a right child.
 
static int n_parent (int i)
 Return index of parent of node i.
 
- Protected Attributes inherited from Gecode::Int::TaskTree< TaskView, OmegaLambdaNode >
const TaskViewArray< TaskView > & tasks
 The tasks from which the tree is computed.
 
OmegaLambdaNode * node
 Task nodes.
 
int * _leaf
 Map task number to leaf node number in right order.
 

Detailed Description

template<class TaskView>
class Gecode::Int::Unary::OmegaLambdaTree< TaskView >

Omega-lambda trees for computing ect of task sets.

Definition at line 715 of file unary.hh.

Constructor & Destructor Documentation

◆ OmegaLambdaTree()

template<class TaskView >
Gecode::Int::Unary::OmegaLambdaTree< TaskView >::OmegaLambdaTree ( Region & r,
const TaskViewArray< TaskView > & t,
bool inc = true )
inline

Initialize tree for tasks t with all tasks included, if inc is true.

Definition at line 136 of file tree.hpp.

Member Function Documentation

◆ shift()

template<class TaskView >
void Gecode::Int::Unary::OmegaLambdaTree< TaskView >::shift ( int i)
inline

Shift task with index i from omega to lambda.

Definition at line 163 of file tree.hpp.

◆ oinsert()

template<class TaskView >
void Gecode::Int::Unary::OmegaLambdaTree< TaskView >::oinsert ( int i)
inline

Insert task with index i to omega.

Definition at line 175 of file tree.hpp.

◆ linsert()

template<class TaskView >
void Gecode::Int::Unary::OmegaLambdaTree< TaskView >::linsert ( int i)
inline

Insert task with index i to lambda.

Definition at line 183 of file tree.hpp.

◆ lremove()

template<class TaskView >
void Gecode::Int::Unary::OmegaLambdaTree< TaskView >::lremove ( int i)
inline

Remove task with index i from lambda.

Definition at line 193 of file tree.hpp.

◆ lempty()

template<class TaskView >
bool Gecode::Int::Unary::OmegaLambdaTree< TaskView >::lempty ( void ) const
inline

Whether has responsible task.

Definition at line 203 of file tree.hpp.

◆ responsible()

template<class TaskView >
int Gecode::Int::Unary::OmegaLambdaTree< TaskView >::responsible ( void ) const
inline

Return responsible task.

Definition at line 209 of file tree.hpp.

◆ ect()

template<class TaskView >
int Gecode::Int::Unary::OmegaLambdaTree< TaskView >::ect ( void ) const
inline

Return earliest completion time of all tasks.

Definition at line 215 of file tree.hpp.

◆ lect()

template<class TaskView >
int Gecode::Int::Unary::OmegaLambdaTree< TaskView >::lect ( void ) const
inline

Return earliest completion time of all tasks excluding lambda tasks.

Definition at line 221 of file tree.hpp.


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