| 113 | #endif |
| 114 | |
| 115 | Space::Space(void) : mm(ssd.data().sm) { |
| 116 | #ifdef GECODE_HAS_CBS |
| 117 | var_id_counter = 0; |
| 118 | #endif |
| 119 | #ifdef GECODE_HAS_VAR_DISPOSE |
| 120 | for (int i=0; i<AllVarConf::idx_d; i++) |
| 121 | _vars_d[i] = nullptr; |
| 122 | #endif |
| 123 | // Initialize propagator and brancher links |
| 124 | pl.init(); |
| 125 | bl.init(); |
| 126 | b_status = b_commit = Brancher::cast(&bl); |
| 127 | // Initialize array for forced deletion to be empty |
| 128 | d_fst = d_cur = d_lst = nullptr; |
| 129 | // Initialize space as stable but not failed |
| 130 | pc.p.active = &pc.p.queue[0]-1; |
| 131 | // Initialize propagator queues |
| 132 | for (int i=0; i<=PropCost::AC_MAX; i++) |
| 133 | pc.p.queue[i].init(); |
| 134 | pc.p.bid_sc = (reserved_bid+1) << sc_bits; |
| 135 | pc.p.n_sub = 0; |
| 136 | pc.p.vti.other(); |
| 137 | } |
| 138 | |
| 139 | void |
| 140 | Space::ap_notice_dispose(Actor* a, bool duplicate) { |