2011-04-09から1日間の記事一覧

Boost.Asio で非同期処理

非同期で、1〜20 までの合計を計算します。 #include <iostream> #include <boost/asio.hpp> #include <boost/bind.hpp> #include <boost/thread.hpp> boost::mutex mutex; int sum = 0; void add(int n){ boost::mutex::scoped_lock lock(mutex); sum += n; std::cout << n << ":" << sum << std::endl; }; int main(){ n</boost/thread.hpp></boost/bind.hpp></boost/asio.hpp></iostream>…

boost::bind 内に boost::bind

こんな事が出来たんですね。 #include <boost/bind.hpp> #include <boost/function.hpp> #include <iostream> int double_(int n){ return n + n; } void disp(int n){ std::cout << n << ","; } int main(){ boost::function<void(int)> f = boost::bind(disp, boost::bind(double_, _1)); for(int i = 0 ; i < 10 ; +</void(int)></iostream></boost/function.hpp></boost/bind.hpp>…