proxygen
folly::pushmi::detail::blocking_submit_fn::on_value_impl Struct Reference

Public Member Functions

requires Executor< std::decay_t< Value > > &&ReceiveValue< Out,::folly::pushmi::invoke_result_t< nested_executor_impl_fn, lock_state *, std::decay_t< Value > > > void operator() (Out out, Value &&v) const
 
requires True &&ReceiveValue< Out, VN... > && not (sizeof...(VN)==1 &&And< Executor< std::decay_t< VN >>... >)) void operator()(Out out
 

Public Attributes

lock_statestate_
 
requires True &&ReceiveValue< Out, VN... > VN &&vn const
 

Detailed Description

Definition at line 234 of file submit.h.

Member Function Documentation

requires True&& ReceiveValue<Out, VN...>&& folly::pushmi::detail::blocking_submit_fn::on_value_impl::not ( sizeof...  VN = = 1 && And<Executor<std::decay_t<VN>>...>)
requires Executor<std::decay_t<Value> >&& ReceiveValue< Out, ::folly::pushmi::invoke_result_t< nested_executor_impl_fn, lock_state*, std::decay_t<Value> > > void folly::pushmi::detail::blocking_submit_fn::on_value_impl::operator() ( Out  out,
Value &&  v 
) const
inline

Definition at line 243 of file submit.h.

References folly::gen::guard(), folly::pushmi::detail::blocking_submit_fn::lock_state::lock, folly::pushmi::detail::blocking_submit_fn::lock_state::nested, folly::pushmi::detail::PUSHMI_TEMPLATE(), folly::pushmi::detail::requires(), folly::pushmi::set_value, folly::pushmi::detail::blocking_submit_fn::lock_state::signaled, and testing::Value().

243  {
244  ++state_->nested;
245  set_value(out, nested_executor_impl_fn{}(state_, (Value &&) v));
246  if (--state_->nested == 0) {
247  std::unique_lock<std::mutex> guard{state_->lock};
248  state_->signaled.notify_all();
249  }
250  }
bool Value(const T &value, M matcher)
GuardImpl guard(ErrorHandler &&handler)
Definition: Base.h:840
PUSHMI_INLINE_VAR constexpr __adl::set_value_fn set_value

Member Data Documentation

requires True&& ReceiveValue<Out, VN...> VN&& vn folly::pushmi::detail::blocking_submit_fn::on_value_impl::const
Initial value:
{
set_value(out, (VN &&) vn...)

Definition at line 254 of file submit.h.

lock_state* folly::pushmi::detail::blocking_submit_fn::on_value_impl::state_

Definition at line 235 of file submit.h.


The documentation for this struct was generated from the following file: