diff options
Diffstat (limited to '3rdparty/asio/src/examples/cpp14/executors')
7 files changed, 27 insertions, 44 deletions
diff --git a/3rdparty/asio/src/examples/cpp14/executors/async_1.cpp b/3rdparty/asio/src/examples/cpp14/executors/async_1.cpp index 2fb8ba56548..0d1bdfcb8bd 100644 --- a/3rdparty/asio/src/examples/cpp14/executors/async_1.cpp +++ b/3rdparty/asio/src/examples/cpp14/executors/async_1.cpp @@ -20,16 +20,14 @@ void async_getline(IoExecutor io_ex, std::istream& is, Handler handler) execution::outstanding_work.tracked); // Post a function object to do the work asynchronously. - execution::execute( - asio::require(io_ex, execution::blocking.never), + asio::require(io_ex, execution::blocking.never).execute( [&is, work_ex, handler=std::move(handler)]() mutable { std::string line; std::getline(is, line); // Pass the result to the handler, via the associated executor. - execution::execute( - asio::prefer(work_ex, execution::blocking.possibly), + asio::prefer(work_ex, execution::blocking.possibly).execute( [line=std::move(line), handler=std::move(handler)]() mutable { handler(std::move(line)); diff --git a/3rdparty/asio/src/examples/cpp14/executors/async_2.cpp b/3rdparty/asio/src/examples/cpp14/executors/async_2.cpp index b8a28e68b87..ee4a72e80c3 100644 --- a/3rdparty/asio/src/examples/cpp14/executors/async_2.cpp +++ b/3rdparty/asio/src/examples/cpp14/executors/async_2.cpp @@ -20,16 +20,14 @@ void async_getline(IoExecutor io_ex, std::istream& is, Handler handler) execution::outstanding_work.tracked); // Post a function object to do the work asynchronously. - execution::execute( - asio::require(io_ex, execution::blocking.never), + asio::require(io_ex, execution::blocking.never).execute( [&is, work_ex, handler=std::move(handler)]() mutable { std::string line; std::getline(is, line); // Pass the result to the handler, via the associated executor. - execution::execute( - asio::prefer(work_ex, execution::blocking.possibly), + asio::prefer(work_ex, execution::blocking.possibly).execute( [line=std::move(line), handler=std::move(handler)]() mutable { handler(std::move(line)); diff --git a/3rdparty/asio/src/examples/cpp14/executors/bank_account_1.cpp b/3rdparty/asio/src/examples/cpp14/executors/bank_account_1.cpp index abfd16a7ee0..a63d7fc059b 100644 --- a/3rdparty/asio/src/examples/cpp14/executors/bank_account_1.cpp +++ b/3rdparty/asio/src/examples/cpp14/executors/bank_account_1.cpp @@ -16,8 +16,7 @@ class bank_account public: void deposit(int amount) { - execution::execute( - pool_.executor(), + pool_.executor().execute( [this, amount] { balance_ += amount; @@ -26,8 +25,7 @@ public: void withdraw(int amount) { - execution::execute( - pool_.executor(), + pool_.executor().execute( [this, amount] { if (balance_ >= amount) @@ -37,8 +35,7 @@ public: void print_balance() const { - execution::execute( - pool_.executor(), + pool_.executor().execute( [this] { std::cout << "balance = " << balance_ << "\n"; diff --git a/3rdparty/asio/src/examples/cpp14/executors/bank_account_2.cpp b/3rdparty/asio/src/examples/cpp14/executors/bank_account_2.cpp index 305d0ca5b86..c2de05156e8 100644 --- a/3rdparty/asio/src/examples/cpp14/executors/bank_account_2.cpp +++ b/3rdparty/asio/src/examples/cpp14/executors/bank_account_2.cpp @@ -16,9 +16,7 @@ class bank_account public: void deposit(int amount) { - execution::execute( - asio::require(pool_.executor(), - execution::blocking.always), + asio::require(pool_.executor(), execution::blocking.always).execute( [this, amount] { balance_ += amount; @@ -27,9 +25,8 @@ public: void withdraw(int amount) { - execution::execute( - asio::require(pool_.executor(), - execution::blocking.always), + asio::require(pool_.executor(), + execution::blocking.always).execute( [this, amount] { if (balance_ >= amount) @@ -40,9 +37,7 @@ public: int balance() const { int result = 0; - execution::execute( - asio::require(pool_.executor(), - execution::blocking.always), + asio::require(pool_.executor(), execution::blocking.always).execute( [this, &result] { result = balance_; diff --git a/3rdparty/asio/src/examples/cpp14/executors/fork_join.cpp b/3rdparty/asio/src/examples/cpp14/executors/fork_join.cpp index a76437efad9..7e8a827356d 100644 --- a/3rdparty/asio/src/examples/cpp14/executors/fork_join.cpp +++ b/3rdparty/asio/src/examples/cpp14/executors/fork_join.cpp @@ -32,8 +32,7 @@ public: // it is time to shut down, i.e. the use count is zero. for (thread_count_ = 0; thread_count_ < thread_count; ++thread_count_) { - execution::execute( - threads_.executor(), + threads_.executor().execute( [this] { std::unique_lock<std::mutex> lock(mutex_); @@ -252,8 +251,8 @@ void fork_join_sort(Iterator begin, Iterator end) { fork_executor fork(pool); join_guard join(fork); - execution::execute(fork, [=]{ fork_join_sort(begin, begin + n / 2); }); - execution::execute(fork, [=]{ fork_join_sort(begin + n / 2, end); }); + fork.execute([=]{ fork_join_sort(begin, begin + n / 2); }); + fork.execute([=]{ fork_join_sort(begin + n / 2, end); }); } std::inplace_merge(begin, begin + n / 2, end); } diff --git a/3rdparty/asio/src/examples/cpp14/executors/pipeline.cpp b/3rdparty/asio/src/examples/cpp14/executors/pipeline.cpp index 2d75e04fc0c..9754a27d425 100644 --- a/3rdparty/asio/src/examples/cpp14/executors/pipeline.cpp +++ b/3rdparty/asio/src/examples/cpp14/executors/pipeline.cpp @@ -169,9 +169,7 @@ std::future<void> pipeline(queue_back<T> in, F f) f(in); }); std::future<void> fut = task.get_future(); - execution::execute( - asio::require(ex, execution::blocking.never), - std::move(task)); + asio::require(ex, execution::blocking.never).execute(std::move(task)); return fut; } @@ -191,8 +189,7 @@ std::future<void> pipeline(queue_back<T> in, F f, Tail... t) auto ex = get_associated_executor(f, thread_executor()); // Run the function. - execution::execute( - asio::require(ex, execution::blocking.never), + asio::require(ex, execution::blocking.never).execute( [in, out, f = std::move(f)]() mutable { f(in, out); @@ -219,8 +216,7 @@ std::future<void> pipeline(F f, Tail... t) auto ex = get_associated_executor(f, thread_executor()); // Run the function. - execution::execute( - asio::require(ex, execution::blocking.never), + asio::require(ex, execution::blocking.never).execute( [out, f = std::move(f)]() mutable { f(out); diff --git a/3rdparty/asio/src/examples/cpp14/executors/priority_scheduler.cpp b/3rdparty/asio/src/examples/cpp14/executors/priority_scheduler.cpp index da4caf0d0ef..20d36db933a 100644 --- a/3rdparty/asio/src/examples/cpp14/executors/priority_scheduler.cpp +++ b/3rdparty/asio/src/examples/cpp14/executors/priority_scheduler.cpp @@ -166,16 +166,16 @@ int main() auto med = asio::require(ex, custom_props::normal_priority); auto high = asio::require(ex, custom_props::high_priority); execution::any_executor<custom_props::priority> poly_high(high); - execution::execute(prefer_low, []{ std::cout << "1\n"; }); - execution::execute(low, []{ std::cout << "11\n"; }); - execution::execute(low, []{ std::cout << "111\n"; }); - execution::execute(med, []{ std::cout << "2\n"; }); - execution::execute(med, []{ std::cout << "22\n"; }); - execution::execute(high, []{ std::cout << "3\n"; }); - execution::execute(high, []{ std::cout << "33\n"; }); - execution::execute(high, []{ std::cout << "333\n"; }); - execution::execute(poly_high, []{ std::cout << "3333\n"; }); - execution::execute(asio::require(ex, custom_props::priority{-1}), [&]{ sched.stop(); }); + prefer_low.execute([]{ std::cout << "1\n"; }); + low.execute([]{ std::cout << "11\n"; }); + low.execute([]{ std::cout << "111\n"; }); + med.execute([]{ std::cout << "2\n"; }); + med.execute([]{ std::cout << "22\n"; }); + high.execute([]{ std::cout << "3\n"; }); + high.execute([]{ std::cout << "33\n"; }); + high.execute([]{ std::cout << "333\n"; }); + poly_high.execute([]{ std::cout << "3333\n"; }); + asio::require(ex, custom_props::priority{-1}).execute([&]{ sched.stop(); }); sched.run(); std::cout << "polymorphic query result = " << asio::query(poly_high, custom_props::priority{}) << "\n"; } |