Lines Matching refs:home

48     SharedData<std::function<void(Space& home)>> c;
50 UnaryWait(Home home, View x, std::function<void(Space& home)> c0);
52 UnaryWait(Space& home, UnaryWait& p);
55 virtual Actor* copy(Space& home);
57 virtual PropCost cost(const Space& home, const ModEventDelta& med) const;
59 virtual void reschedule(Space& home);
61 virtual ExecStatus propagate(Space& home, const ModEventDelta& med);
63 static ExecStatus post(Home home, View x,
64 std::function<void(Space& home)> c);
66 virtual size_t dispose(Space& home);
81 SharedData<std::function<void(Space& home)>> c;
83 NaryWait(Home home, ViewArray<View>& x,
84 std::function<void(Space& home)> c0);
86 NaryWait(Space& home, NaryWait& p);
89 virtual Actor* copy(Space& home);
91 virtual PropCost cost(const Space& home, const ModEventDelta& med) const;
93 virtual void reschedule(Space& home);
95 virtual ExecStatus propagate(Space& home, const ModEventDelta& med);
97 static ExecStatus post(Home home, ViewArray<View>& x,
98 std::function<void(Space& home)> c);
100 virtual size_t dispose(Space& home);
110 UnaryWait<View>::UnaryWait(Home home, View x0, in UnaryWait() argument
111 std::function<void(Space& home)> c0) in UnaryWait()
112 : Propagator(home), x(x0), c(c0) { in UnaryWait()
113 x.subscribe(home,*this,PC_GEN_ASSIGNED); in UnaryWait()
114 home.notice(*this,AP_DISPOSE); in UnaryWait()
118 UnaryWait<View>::UnaryWait(Space& home, UnaryWait& p) in UnaryWait() argument
119 : Propagator(home,p), c(p.c) { in UnaryWait()
120 x.update(home,p.x); in UnaryWait()
124 UnaryWait<View>::copy(Space& home) { in copy() argument
125 return new (home) UnaryWait<View>(home,*this); in copy()
134 UnaryWait<View>::reschedule(Space& home) { in reschedule() argument
135 x.reschedule(home,*this,PC_GEN_ASSIGNED); in reschedule()
139 UnaryWait<View>::propagate(Space& home, const ModEventDelta&) { in propagate() argument
142 c()(home); in propagate()
143 return home.failed() ? ES_FAILED : home.ES_SUBSUMED(*this); in propagate()
147 UnaryWait<View>::post(Home home, View x, in post() argument
148 std::function<void(Space& home)> c) { in post()
152 c(home); in post()
153 return home.failed() ? ES_FAILED : ES_OK; in post()
155 (void) new (home) UnaryWait<View>(home,x,c); in post()
161 UnaryWait<View>::dispose(Space& home) { in dispose() argument
162 x.cancel(home,*this,PC_GEN_ASSIGNED); in dispose()
163 home.ignore(*this,AP_DISPOSE); in dispose()
164 c.~SharedData<std::function<void(Space& home)>>(); in dispose()
165 (void) Propagator::dispose(home); in dispose()
176 NaryWait<View>::NaryWait(Home home, ViewArray<View>& x0, in NaryWait() argument
177 std::function<void(Space& home)> c0) in NaryWait()
178 : Propagator(home), x(x0), c(c0) { in NaryWait()
180 x[0].subscribe(home,*this,PC_GEN_ASSIGNED); in NaryWait()
181 home.notice(*this,AP_DISPOSE); in NaryWait()
185 NaryWait<View>::NaryWait(Space& home, NaryWait& p) in NaryWait() argument
186 : Propagator(home,p), c(p.c) { in NaryWait()
187 x.update(home,p.x); in NaryWait()
191 NaryWait<View>::copy(Space& home) { in copy() argument
197 return new (home) NaryWait<View>(home,*this); in copy()
206 NaryWait<View>::reschedule(Space& home) { in reschedule() argument
207 x[0].reschedule(home,*this,PC_GEN_ASSIGNED); in reschedule()
211 NaryWait<View>::propagate(Space& home, const ModEventDelta& ) { in propagate() argument
220 c()(home); in propagate()
221 return home.failed() ? ES_FAILED : home.ES_SUBSUMED(*this); in propagate()
226 x[0].subscribe(home,*this,PC_GEN_ASSIGNED,false); in propagate()
232 NaryWait<View>::post(Home home, ViewArray<View>& x, in post() argument
233 std::function<void(Space& home)> c) { in post()
240 c(home); in post()
241 return home.failed() ? ES_FAILED : ES_OK; in post()
245 return UnaryWait<View>::post(home,x[0],c); in post()
247 (void) new (home) NaryWait<View>(home,x,c); in post()
254 NaryWait<View>::dispose(Space& home) { in dispose() argument
256 x[0].cancel(home,*this,PC_GEN_ASSIGNED); in dispose()
257 home.ignore(*this,AP_DISPOSE); in dispose()
258 c.~SharedData<std::function<void(Space& home)>>(); in dispose()
259 (void) Propagator::dispose(home); in dispose()