check_type(const check_type& other) : Harness::NoAfterlife(other) { other.AssertLive(); AssertLive(); id = other.id; am_ready = other.am_ready; ++check_type_counter; }
void operator()(check_type &c) const { AssertLive(); ASSERT(c.my_id(), "unset id value"); ASSERT(c.is_ready(), "not yet ready"); output_counter++; }
bool output_is_ready(check_type<U> &p) { return p.is_ready(); }
bool middle_is_ready(check_type<U> &p) { return p.is_ready(); }
void my_function(check_type<U> &p) { p.function(); }
int output_my_id(check_type<U> &p) { return p.my_id(); }
int middle_my_id(check_type<U> &p) { return p.my_id(); }