本文整理汇总了C++中hpx::make_ready_future方法的典型用法代码示例。如果您正苦于以下问题:C++ hpx::make_ready_future方法的具体用法?C++ hpx::make_ready_future怎么用?C++ hpx::make_ready_future使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类hpx
的用法示例。
在下文中一共展示了hpx::make_ready_future方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: future_function_pointers
void future_function_pointers(Executor& exec)
{
future_void_f1_count.store(0);
future_void_f2_count.store(0);
future_int_f1_count.store(0);
future_int_f2_count.store(0);
future<void> f1
= dataflow(exec,
&future_void_f1
, async(&future_void_sf1, shared_future<void>(make_ready_future()))
);
f1.wait();
HPX_TEST_EQ(future_void_f1_count, 2u);
future_void_f1_count.store(0);
future<void> f2 = dataflow(exec,
&future_void_f2
, async(&future_void_sf1, shared_future<void>(make_ready_future()))
, async(&future_void_sf1, shared_future<void>(make_ready_future()))
);
f2.wait();
HPX_TEST_EQ(future_void_f1_count, 2u);
HPX_TEST_EQ(future_void_f2_count, 1u);
future_void_f1_count.store(0);
future_void_f2_count.store(0);
future_int_f1_count.store(0);
future_int_f2_count.store(0);
future<int> f3 = dataflow(exec,
&future_int_f1
, make_ready_future()
);
HPX_TEST_EQ(f3.get(), 1);
HPX_TEST_EQ(future_int_f1_count, 1u);
future_int_f1_count.store(0);
future<int> f4 = dataflow(exec,
&future_int_f2
, dataflow(exec, &future_int_f1, make_ready_future())
, dataflow(exec, &future_int_f1, make_ready_future())
);
HPX_TEST_EQ(f4.get(), 2);
HPX_TEST_EQ(future_int_f1_count, 2u);
HPX_TEST_EQ(future_int_f2_count, 1u);
future_int_f1_count.store(0);
future_int_f2_count.store(0);
future_int_f_vector_count.store(0);
std::vector<future<int> > vf;
for(std::size_t i = 0; i < 10; ++i)
{
vf.push_back(dataflow(exec, &future_int_f1, make_ready_future()));
}
future<int> f5 = dataflow(exec, &future_int_f_vector, std::ref(vf));
HPX_TEST_EQ(f5.get(), 10);
}