本文整理汇总了C++中Future::is_ready方法的典型用法代码示例。如果您正苦于以下问题:C++ Future::is_ready方法的具体用法?C++ Future::is_ready怎么用?C++ Future::is_ready使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Future
的用法示例。
在下文中一共展示了Future::is_ready方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: operator
void operator()(Future& future) const
{
std::size_t counter = when_->count_.load(boost::memory_order_seq_cst);
if (counter < when_->needed_count_ && !future.is_ready()) {
// handle future only if not enough futures are ready yet
// also, do not touch any futures which are already ready
typedef
typename lcos::detail::shared_state_ptr_for<Future>::type
shared_state_ptr;
shared_state_ptr const& shared_state =
lcos::detail::get_shared_state(future);
shared_state->set_on_completed(util::bind(
&set_when_each_on_completed_callback_impl::on_future_ready<Future>,
boost::ref(future), when_, threads::get_self_id()));
}
else {
if (when_->count_.fetch_add(1) + 1 == when_->needed_count_)
{
when_->goal_reached_on_calling_thread_ = true;
}
when_->f_(std::move(future)); // invoke callback right away
}
}
示例2: await_future
void await_future(Future const & f)
{
if(f.is_ready()) return;
buffer_->await_future(
*hpx::traits::future_access<Future>::get_shared_state(f));
}