slot_call_iterator_t(Iterator iter_in, Iterator end_in, slot_call_iterator_cache<result_type, Function> &c): iter(iter_in), end(end_in), cache(&c), callable_iter(end_in) { lock_next_callable(); }
slot_call_iterator_t(Iterator iter_in, Iterator end_in, cache_type &c): iter(iter_in), end(end_in), cache(&c), callable_iter(end_in) { lock_next_callable(); }
void increment() { ++iter; lock_next_callable(); cache->result.reset(); }