void operator()( const detail::prefix_operator& ) { if(a_.r_) { a_.r_->stop(); } else { a_.r_.reset( new agent(prefix_operator()) ); a_.r_->l_.reset( new agent(detail::stop()) ); } }
void operator()( const detail::prefix_operator& ) { if(a_.r_) { a_.r_->repeat(d_); } else { a_.r_.reset( new agent(prefix_operator()) ); typename agent::repeat_pnt c( new repeat<agent>(d_) ); a_.r_->l_.reset( new agent(c) ); } }
void operator()( const detail::prefix_operator& ) { if(a_.r_) { a_.r_->template out<type>(d_); } else { a_.r_.reset( new agent(prefix_operator()) ); typename agent::out_port_pnt c( new out_port_complete<message,type>(d_) ); a_.r_->l_.reset( new agent(c) ); } }