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)
