U operator()( tbb::flow_control& control ) const { AssertLive(); if( --input_counter < 0 ) { control.stop(); } return U(); // default constructed }
void operator()( tbb::flow_control& control ) const { AssertLive(); if( --input_counter < 0 ) { control.stop(); } else ++non_pointer_specialized_calls; }
U operator()( tbb::flow_control& control ) const { AssertLive(); if( --input_counter < 0 ) { control.stop(); } else // only count successful reads ++non_pointer_specialized_calls; return U(); // default constructed }
static Pair read_( tbb::flow_control& flow ) { if( queue.empty() || is_shutdown || !callback->good() || !std::cout.good() || !running ) { flow.stop(); return Pair(); } Pair p; queue.pop( p ); return p; }
int operator()(tbb::flow_control& control ) const { AssertLive(); int oldval = --input_counter; if( oldval < 0 ) { control.stop(); } else ++non_pointer_specialized_calls; return oldval+1; }
void operator()( tbb::flow_control& control ) { if( --counter < 0 ) { control.stop(); } }
U operator()( tbb::flow_control& control ) { if( --counter < 0 ) { control.stop(); } return U(); }
void operator()( tbb::flow_control& control ) const { AssertLive(); if( --input_counter < 0 ) { control.stop(); } }