A piped
flow for a do_while
skeleton, connects the out flow of each iteration to the input of the next iteration, and connects the input of the do_while
skeleton to the first iteration of the while loop. It also connects the output of the do_while
skeleton to the output of the last iteration.
More...
Public Member Functions | |
template<typename While , typename In > | |
In | in_flow (While const &, In const &in, std::size_t, tags::while_first_iter) |
body[first-iter]in-flow = do-whilein-flow | |
template<typename While , typename In > | |
port_types< While >::template inner_ports_types< In >::body_out_port_type | in_flow (While const &while_p, In const &in, std::size_t lid_offset, tags::while_iteration) |
body[iter]in-flow = body[iter-1]out-flow | |
template<typename While , typename In > | |
port_types< While >::template inner_ports_types< In >::red_in_flow_type | in_flow (While const &while_p, In const &in, std::size_t lid_offset, tags::while_red) |
reduction[iter]in-flow = body[iter]out-flow | |
template<typename While , typename In > | |
port_types< While >::template inner_ports_types< In >::cont_in_flow_type | in_flow (While const &while_p, In const &in, std::size_t lid_offset, tags::while_continuation) |
continuation[iter]in-flow = reduction[iter]out-flow | |
template<typename While , typename Out , typename Tag > | |
flows::result_of::concat< typename While::reduction_p_type::in_port_type, typename While::body_p_type::in_port_type > | out_flow (While const &while_p, Out const &, std::size_t lid_offset, Tag) |
body[iter]out-flow = (reduction[iter]in-flow, body[iter+1]in-flow) | |
template<typename While , typename Out > | |
flows::result_of::concat< typename While::reduction_p_type::in_port_type, Out > | out_flow (While const &while_p, Out const &out, std::size_t lid_offset, tags::while_last_iter) |
body[last-iter]out-flow = (reduction[last-iter]in-flow, do-whileout-flow) | |
template<typename While , typename Out > | |
While::continuation_p_type::in_port_type | out_flow (While const &while_p, Out const &, std::size_t lid_offset, tags::while_red) |
reduction[iter]out-flow = continuation[iter]in-flow | |
template<typename While > | |
port_types< While >::in_port_type | in_port (While const &while_p, std::size_t lid_offset) |
do-whilein-flow = body[first-iter]in-flow | |
template<typename In , typename While > | |
port_types< While >::template out_port_type< In >::type | out_port (In const &in, While const &while_p, std::size_t lid_offset) |
do-whileout-flow = body[last-iter]out-flow | |
A piped
flow for a do_while
skeleton, connects the out flow of each iteration to the input of the next iteration, and connects the input of the do_while
skeleton to the first iteration of the while loop. It also connects the output of the do_while
skeleton to the output of the last iteration.