Definition at line 213 of file PushmiBenchmarks.cpp.
inline_executor_flow_many::inline_executor_flow_many |
( |
| ) |
|
|
inline |
inline_executor_flow_many::inline_executor_flow_many |
( |
std::atomic< int > & |
c | ) |
|
|
inline |
auto inline_executor_flow_many::executor |
( |
| ) |
|
|
inline |
template<class Out >
void inline_executor_flow_many::submit |
( |
Out |
out | ) |
|
|
inline |
Definition at line 230 of file PushmiBenchmarks.cpp.
References counter, folly::data(), MAKE, folly::gen::move, folly::pushmi::__adl::noexcept(), s, folly::pushmi::set_done, folly::pushmi::set_starting, folly::pushmi::set_value, and stop().
233 producer(Out out,
bool s) : out(
std::
move(out)),
stop(s) {}
235 std::atomic<bool>
stop;
237 auto p = std::make_shared<producer>(
std::move(out),
false);
240 explicit Data(std::shared_ptr<producer> p) : p(
std::
move(p)) {}
241 std::shared_ptr<producer> p;
251 while (!data.p->stop && --requested >= 0 &&
252 (!counter || --*counter >= 0)) {
258 if (!counter || *counter == 0) {
263 data.p->stop.store(
true);
267 data.p->stop.store(
true);
std::atomic< int > * counter
constexpr detail::Map< Move > move
requires E e noexcept(noexcept(s.error(std::move(e))))
PUSHMI_INLINE_VAR constexpr __adl::set_starting_fn set_starting
PUSHMI_INLINE_VAR constexpr __adl::set_value_fn set_value
static constexpr uint64_t data[1]
PUSHMI_INLINE_VAR constexpr __adl::set_done_fn set_done
std::atomic<int>* inline_executor_flow_many::counter |
The documentation for this struct was generated from the following file: