| 361 | } |
| 362 | template<class View> |
| 363 | forceinline void |
| 364 | Action::init(Home home, ViewArray<View>& x, double d, |
| 365 | bool p, bool f, |
| 366 | typename BranchTraits<typename View::VarType>::Merit bm) { |
| 367 | assert(!*this); |
| 368 | if (!p && !f) |
| 369 | return; |
| 370 | object(*new Storage(home,x,d,bm)); |
| 371 | if (p && f) |
| 372 | (void) Recorder<View,true,true>::post(home,x,*this); |
| 373 | else if (p && !f) |
| 374 | (void) Recorder<View,true,false>::post(home,x,*this); |
| 375 | else if (!p && f) |
| 376 | (void) Recorder<View,false,true>::post(home,x,*this); |
| 377 | } |
| 378 | |
| 379 | template<class Char, class Traits> |
| 380 | std::basic_ostream<Char,Traits>& |