template<class Bdl, class Delta> void operator()(Bdl& ref, const Delta& refdelta) const { assert(ref.size()==refdelta.size()); for(auto i = ref.first() ; i < ref.size() ; ++i) { detail::internal_apply_increment(ref.reference(i),get_ptr(refdelta(i))); } }
void apply_delta_and_capture(const Delta& dd, GameState *gs) { take_step_and_capture(dd.first(), gs); if (dd.size() == 2) take_step_and_capture(dd.second(), gs); }