Task trees for task views with node type Node. More...
#include <task.hh>
Protected Member Functions | |
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. | |
Node & | leaf (int i) |
Return leaf for task i. | |
const Node & | 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 | init (void) |
Initialize tree after leaves have been initialized. | |
void | update (void) |
Update all inner nodes of tree after leaves have been initialized. | |
TaskTree (Region &r, const TaskViewArray< TaskView > &t) | |
Initialize tree for tasks t. | |
template<class Node2 > | |
TaskTree (Region &r, const TaskTree< TaskView, Node2 > &t) | |
Initialize tree using tree t. | |
Static Protected Member Functions | |
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 | |
const TaskViewArray< TaskView > & | tasks |
The tasks from which the tree is computed. | |
Node * | node |
Task nodes. | |
int * | _leaf |
Map task number to leaf node number in right order. |
Task trees for task views with node type Node.
Gecode::Int::TaskTree::TaskTree | ( | Region & | r, |
const TaskViewArray< TaskView > & | t | ||
) | [inline, protected] |
int Gecode::Int::TaskTree::n_inner | ( | void | ) | const [inline, protected] |
int Gecode::Int::TaskTree::n_nodes | ( | void | ) | const [inline, protected] |
bool Gecode::Int::TaskTree::n_root | ( | int | i | ) | [inline, static, protected] |
bool Gecode::Int::TaskTree::n_leaf | ( | int | i | ) | const [inline, protected] |
int Gecode::Int::TaskTree::n_left | ( | int | i | ) | [inline, static, protected] |
bool Gecode::Int::TaskTree::left | ( | int | i | ) | [inline, static, protected] |
int Gecode::Int::TaskTree::n_right | ( | int | i | ) | [inline, static, protected] |
bool Gecode::Int::TaskTree::right | ( | int | i | ) | [inline, static, protected] |
int Gecode::Int::TaskTree::n_parent | ( | int | i | ) | [inline, static, protected] |
Node & Gecode::Int::TaskTree::leaf | ( | int | i | ) | [inline, protected] |
const Node & Gecode::Int::TaskTree::root | ( | void | ) | const [inline, protected] |
void Gecode::Int::TaskTree::update | ( | int | i, |
bool | l = true |
||
) | [inline, protected] |
void Gecode::Int::TaskTree::init | ( | void | ) | [inline, protected] |
void Gecode::Int::TaskTree::update | ( | void | ) | [inline, protected] |
const TaskViewArray<TaskView>& Gecode::Int::TaskTree::tasks [protected] |
Node* Gecode::Int::TaskTree::node [protected] |
int* Gecode::Int::TaskTree::_leaf [protected] |