Generated on Thu Mar 22 10:39:55 2012 for Gecode by doxygen 1.6.3

Gecode::Int::TaskTree< TaskView, Node > Class Template Reference

Task trees for task views with node type Node. More...

#include <task.hh>

List of all members.

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.

Detailed Description

template<class TaskView, class Node>
class Gecode::Int::TaskTree< TaskView, Node >

Task trees for task views with node type Node.

Definition at line 365 of file task.hh.


Constructor & Destructor Documentation

template<class TaskView, class Node >
Gecode::Int::TaskTree< TaskView, Node >::TaskTree ( Region r,
const TaskViewArray< TaskView > &  t 
) [inline, protected]

Initialize tree for tasks t.

Definition at line 151 of file tree.hpp.

template<class TaskView, class Node >
template<class Node2 >
Gecode::Int::TaskTree< TaskView, Node >::TaskTree ( Region r,
const TaskTree< TaskView, Node2 > &  t 
) [inline, protected]

Initialize tree using tree t.

Definition at line 178 of file tree.hpp.


Member Function Documentation

template<class TaskView , class Node >
int Gecode::Int::TaskTree< TaskView, Node >::n_inner ( void   )  const [inline, protected]

Return number of inner nodes.

Definition at line 62 of file tree.hpp.

template<class TaskView , class Node >
int Gecode::Int::TaskTree< TaskView, Node >::n_nodes ( void   )  const [inline, protected]

Return number of nodes for balanced binary tree.

Definition at line 67 of file tree.hpp.

template<class TaskView , class Node >
bool Gecode::Int::TaskTree< TaskView, Node >::n_root ( int  i  )  [inline, static, protected]

Whether node i is index of root.

Definition at line 73 of file tree.hpp.

template<class TaskView , class Node >
bool Gecode::Int::TaskTree< TaskView, Node >::n_leaf ( int  i  )  const [inline, protected]

Whether node i is leaf.

Definition at line 78 of file tree.hpp.

template<class TaskView , class Node >
int Gecode::Int::TaskTree< TaskView, Node >::n_left ( int  i  )  [inline, static, protected]

Return index of left child of node i.

Definition at line 83 of file tree.hpp.

template<class TaskView , class Node >
bool Gecode::Int::TaskTree< TaskView, Node >::left ( int  i  )  [inline, static, protected]

Test whether node i is a left child.

Definition at line 88 of file tree.hpp.

template<class TaskView , class Node >
int Gecode::Int::TaskTree< TaskView, Node >::n_right ( int  i  )  [inline, static, protected]

Return index of right child of node i.

Definition at line 95 of file tree.hpp.

template<class TaskView , class Node >
bool Gecode::Int::TaskTree< TaskView, Node >::right ( int  i  )  [inline, static, protected]

Test whether node i is a right child.

Definition at line 100 of file tree.hpp.

template<class TaskView , class Node >
int Gecode::Int::TaskTree< TaskView, Node >::n_parent ( int  i  )  [inline, static, protected]

Return index of parent of node i.

Definition at line 107 of file tree.hpp.

template<class TaskView , class Node >
Node & Gecode::Int::TaskTree< TaskView, Node >::leaf ( int  i  )  [inline, protected]

Return leaf for task i.

Definition at line 113 of file tree.hpp.

template<class TaskView , class Node >
const Node & Gecode::Int::TaskTree< TaskView, Node >::root ( void   )  const [inline, protected]

Return root node.

Definition at line 119 of file tree.hpp.

template<class TaskView , class Node >
void Gecode::Int::TaskTree< TaskView, Node >::update ( int  i,
bool  l = true 
) [inline, protected]

Update tree after leaf for task i has changed (l whether i refers to a leaf).

Definition at line 139 of file tree.hpp.

template<class TaskView , class Node >
void Gecode::Int::TaskTree< TaskView, Node >::init ( void   )  [inline, protected]

Initialize tree after leaves have been initialized.

Definition at line 125 of file tree.hpp.

template<class TaskView , class Node >
void Gecode::Int::TaskTree< TaskView, Node >::update ( void   )  [inline, protected]

Update all inner nodes of tree after leaves have been initialized.

Definition at line 132 of file tree.hpp.


Member Data Documentation

template<class TaskView, class Node>
const TaskViewArray<TaskView>& Gecode::Int::TaskTree< TaskView, Node >::tasks [protected]

The tasks from which the tree is computed.

Definition at line 369 of file task.hh.

template<class TaskView, class Node>
Node* Gecode::Int::TaskTree< TaskView, Node >::node [protected]

Task nodes.

Definition at line 371 of file task.hh.

template<class TaskView, class Node>
int* Gecode::Int::TaskTree< TaskView, Node >::_leaf [protected]

Map task number to leaf node number in right order.

Definition at line 373 of file task.hh.


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