Gecode::ViewArray< View > Class Template Reference
[Programming actors]
List of all members.Detailed Description
template<class View>
class Gecode::ViewArray< View >
View arrays.
View arrays store views. They are typically used for storing the views with which propagators and branchings compute.
Definition at line 103 of file array.icc.
Constructors and initialization | |
ViewArray (void) | |
Default constructor (array of size 0). | |
ViewArray (Space *, int m) | |
Allocate array with m variables. | |
ViewArray (const ViewArray< View > &a) | |
Initialize from view array a (share elements). | |
ViewArray (Space *, const ViewArray< View > &a) | |
Initialize from view array a (copy elements). | |
const ViewArray< View > & | operator= (const ViewArray< View > &a) |
Initialize from view array a (share elements). | |
template<class Var> | |
ViewArray (Space *home, const VarArgArray< Var > &a) | |
Initialize from variable argument array a (copy elements). | |
Array size | |
int | size (void) const |
Return size of array (number of elements). | |
void | size (int n) |
Decrease size of array (number of elements). | |
Array elements | |
View & | operator[] (int i) |
Return view at position i. | |
const View & | operator[] (int i) const |
Return view at position i. | |
Dependencies | |
void | subscribe (Space *home, Propagator *p, PropCond pc, bool process=true) |
Subscribe propagator p with propagation condition pc to variable. | |
void | cancel (Space *home, Propagator *p, PropCond pc) |
Cancel subscription of propagator p with propagation condition pc to all views. | |
Cloning | |
void | update (Space *, bool share, ViewArray< View > &a) |
Update array to be a clone of array a. | |
Moving elements | |
void | move_fst (int i) |
Move assigned view from position 0 to position i (shift elements to the left). | |
void | move_lst (int i) |
Move assigned view from position size()-1 to position i (truncate array by one). | |
void | move_fst (int i, Space *home, Propagator *p, PropCond pc) |
Move view from position 0 to position i (shift elements to the left). | |
void | move_lst (int i, Space *home, Propagator *p, PropCond pc) |
Move view from position size()-1 to position i (truncate array by one). | |
Dropping elements | |
void | drop_fst (int i) |
Drop assigned views from positions 0 to i-1 from array. | |
void | drop_lst (int i) |
Drop assigned views from positions i+1 to size()-1 from array. | |
void | drop_fst (int i, Space *home, Propagator *p, PropCond pc) |
Drop views from positions 0 to i-1 from array. | |
void | drop_lst (int i, Space *home, Propagator *p, PropCond pc) |
Drop assigned views from positions i+1 to size()-1 from array. | |
View equality | |
bool | same (void) const |
Test whether array has same views. | |
bool | same (const View &y) const |
Test whether array contains a view being the same as y. | |
void | unique (void) |
Remove all duplicate views from array (changes element order). | |
View sharing | |
bool | shared (void) const |
Test whether array has shared views. | |
bool | shared (const View &y) const |
Test whether array contains view shared with y. |
Constructor & Destructor Documentation
|
Default constructor (array of size 0).
|
|
Allocate array with m variables.
|
|
Initialize from view array a (share elements).
|
|
Initialize from view array a (copy elements).
|
|
Initialize from variable argument array a (copy elements). Note that the view type View must provide a constructor for the associated Var type. |
Member Function Documentation
|
Initialize from view array a (share elements).
|
|
Return size of array (number of elements).
|
|
Decrease size of array (number of elements).
|
|
Return view at position i.
|
|
Return view at position i.
|
|
Subscribe propagator p with propagation condition pc to variable. In case process is false, the propagator is just subscribed but not processed for execution (this must be used when creating subscriptions during propagation). |
|
Cancel subscription of propagator p with propagation condition pc to all views.
|
|
Update array to be a clone of array a. If share is true, sharing is retained for all shared data structures. Otherwise, for each of them an independent copy is created. |
|
Move assigned view from position 0 to position i (shift elements to the left).
|
|
Move assigned view from position
|
|
Move view from position 0 to position i (shift elements to the left). Before moving, cancel subscription of propagator p with propagation condition pc to view at position i. |
|
Move view from position Before moving, cancel subscription of propagator p with propagation condition pc to view at position i. |
|
Drop assigned views from positions 0 to i-1 from array.
|
|
Drop assigned views from positions i+1 to
|
|
Drop views from positions 0 to i-1 from array. Before moving, cancel subscription of propagator p with propagation condition pc to views at positions 0 to i-1. |
|
Drop assigned views from positions i+1 to
Before moving, cancel subscription of propagator p with propagation condition pc to views at positions i+1 to |
|
Test whether array has same views.
|
|
Test whether array contains a view being the same as y.
|
|
Remove all duplicate views from array (changes element order).
|
|
Test whether array has shared views.
|
|
Test whether array contains view shared with y.
|
The documentation for this class was generated from the following file:
- gecode/kernel/array.icc (Revision: 3741)