Lines Matching refs:tbb
37 struct fake_continue_sender : public tbb::flow::sender<tbb::flow::continue_msg>
39 typedef tbb::flow::sender<tbb::flow::continue_msg>::successor_type successor_type;
48 tbb::flow::receiver< InputType > * const my_exe_node;
50 parallel_puts( tbb::flow::receiver< InputType > &exe_node ) : my_exe_node(&exe_node) {} in parallel_puts()
63 void run_continue_nodes( int p, tbb::flow::graph& g, tbb::flow::continue_node< OutputType >& n ) { in run_continue_nodes()
66 tbb::detail::d1::register_predecessor(n, fake_sender); in run_continue_nodes()
74 harness_graph_executor<tbb::flow::continue_msg, OutputType>::execute_count = 0; in run_continue_nodes()
77 tbb::flow::make_edge( n, *receivers[r] ); in run_continue_nodes()
80 utils::NativeParallelFor( p, parallel_puts<tbb::flow::continue_msg>(n) ); in run_continue_nodes()
84 size_t ec = harness_graph_executor<tbb::flow::continue_msg, OutputType>::execute_count; in run_continue_nodes()
93 tbb::flow::remove_edge( n, *receivers[r] ); in run_continue_nodes()
101 tbb::flow::graph g; in continue_nodes()
102 tbb::flow::continue_node< OutputType > exe_node( g, body ); in continue_nodes()
104 exe_node.try_put(tbb::flow::continue_msg()); in continue_nodes()
105 tbb::flow::continue_node< OutputType > exe_node_copy( exe_node ); in continue_nodes()
121 OutputType operator()( tbb::flow::continue_msg ) { in operator ()()
133 tbb::flow::graph g; in continue_nodes_with_copy()
138 tbb::flow::continue_node< OutputType > exe_node( g, cf ); in continue_nodes_with_copy()
141 tbb::detail::d1::register_predecessor(exe_node, fake_sender); in continue_nodes_with_copy()
151 tbb::flow::make_edge( exe_node, *receivers[r] ); in continue_nodes_with_copy()
154 utils::NativeParallelFor( p, parallel_puts<tbb::flow::continue_msg>(exe_node) ); in continue_nodes_with_copy()
164 tbb::flow::remove_edge( exe_node, *receivers[r] ); in continue_nodes_with_copy()
169 … inc_functor<OutputType> body_copy = tbb::flow::copy_body< inc_functor<OutputType> >( exe_node ); in continue_nodes_with_copy()
175 g.reset(tbb::flow::rf_reset_bodies); in continue_nodes_with_copy()
176 body_copy = tbb::flow::copy_body< inc_functor<OutputType> >( exe_node ); in continue_nodes_with_copy()
185 harness_graph_executor< tbb::flow::continue_msg, OutputType>::max_executors = 0; in run_continue_nodes()
186 …continue_nodes<OutputType>( []( tbb::flow::continue_msg i ) -> OutputType { return harness_graph_e… in run_continue_nodes()
187 … continue_nodes<OutputType>( &harness_graph_executor<tbb::flow::continue_msg, OutputType>::func ); in run_continue_nodes()
188 …continue_nodes<OutputType>( typename harness_graph_executor<tbb::flow::continue_msg, OutputType>::… in run_continue_nodes()
194 tbb::task_arena arena(num_threads); in test_concurrency()
197 run_continue_nodes<tbb::flow::continue_msg>(); in test_concurrency()
209 using namespace tbb::flow;
266 void operator()( tbb::flow::continue_msg ) { in operator ()()
274 tbb::flow::graph g; in test_lightweight_policy()
277 tbb::flow::continue_node<tbb::flow::continue_msg, tbb::flow::lightweight> in test_lightweight_policy()
279 tbb::flow::continue_node<tbb::flow::continue_msg, tbb::flow::lightweight> in test_lightweight_policy()
282 tbb::flow::make_edge(node1, node2); in test_lightweight_policy()
285 node1.try_put(tbb::flow::continue_msg()); in test_lightweight_policy()
289 lightweight_policy_body body1 = tbb::flow::copy_body<lightweight_policy_body>(node1); in test_lightweight_policy()
290 lightweight_policy_body body2 = tbb::flow::copy_body<lightweight_policy_body>(node2); in test_lightweight_policy()
299 using msg_t = tbb::flow::continue_msg; in test_follows_and_precedes_api()
307 <msg_t, tbb::flow::continue_node<msg_t>> in test_follows_and_precedes_api()
311 <msg_t, tbb::flow::continue_node<msg_t>> in test_follows_and_precedes_api()
331 using namespace tbb::flow; in test_successor_cache_specialization()
388 …static_assert(utils::well_formed_instantiation<tbb::flow::continue_node, test_concepts::Copyable>);
389 …static_assert(!utils::well_formed_instantiation<tbb::flow::continue_node, test_concepts::NonCopyab…
393 concept can_call_continue_node_ctor = requires( tbb::flow::graph& graph, Body body,
394 tbb::flow::buffer_node<int>& f, std::size_t num,
395 tbb::flow::node_priority_t priority ) {
396 tbb::flow::continue_node<Input>(graph, body);
397 tbb::flow::continue_node<Input>(graph, body, priority);
398 tbb::flow::continue_node<Input>(graph, num, body);
399 tbb::flow::continue_node<Input>(graph, num, body, priority);
401 tbb::flow::continue_node<Input>(tbb::flow::follows(f), body);
402 tbb::flow::continue_node<Input>(tbb::flow::follows(f), body, priority);
403 tbb::flow::continue_node<Input>(tbb::flow::follows(f), num, body);
404 tbb::flow::continue_node<Input>(tbb::flow::follows(f), num, body, priority);