]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/asio/example/cpp11/executors/bank_account_2.cpp
1 #include <boost/asio/execution.hpp>
2 #include <boost/asio/static_thread_pool.hpp>
5 using boost::asio::static_thread_pool
;
6 namespace execution
= boost::asio::execution
;
8 // Traditional active object pattern.
9 // Member functions block until operation is finished.
14 mutable static_thread_pool pool_
{1};
17 void deposit(int amount
)
20 boost::asio::require(pool_
.executor(),
21 execution::blocking
.always
),
28 void withdraw(int amount
)
31 boost::asio::require(pool_
.executor(),
32 execution::blocking
.always
),
35 if (balance_
>= amount
)
44 boost::asio::require(pool_
.executor(),
45 execution::blocking
.always
),
59 std::cout
<< "balance = " << acct
.balance() << "\n";