pdf file is here: https://dl.dropboxusercontent.com/u/1682460/presentation/boost_14/bgl_design_and_shortest_path.pdfRead less
9. 並列化 powered by C++11 int m = max(thread::hardware_concurrency(), 1u); vector<thread> worker; for (int i = 0; i < m; ++i) { worker.emplace_back([&](int id) { int r0 = N/m * id + min(N%m, id); int r1 = N/m * (id+1) + min(N%m, id+1); for (int j = r0; j < r1; ++j) { process(data[j]); } }, i); } for (auto& t : worker) t.join(); 9 10. 並列化 powered by C++11 int m = max(thread::hardware_concurrency(), 1
2013年のBoostのGoogle Summer of Codeプロジェクトを眺めていたら、こんなのがありました。 Boost.Chrono/Date Complete the Boost.ChronoDate [1] library based on [2] to make it ready for review. [1] https://svn.boost.org/svn/boost/sandbox/chrono_date/ [2] https://svn.boost.org/svn/boost/sandbox/chrono_date/libs/date/doc/date.html This project will be mentored by Vicente J. Botet Escriba 今まで時間のみを扱っていたBoost.Chronoですが、日付を扱うプロジェクトが進めら
皆さんご存知の通りBoost 1.50.0がリリースされました。 このリリースで皆さん当然user-config.jamに BOOST_THREAD_VERSION=3 を追加したことと思います。 まぁ今回は変更ではなくて新しく追加されたライブラリについて。 Boost.Algorithmさんには若干失望してるので扱いません。 今回紹介する3ライブラリの作者はLorenzo Caminitiです。 Boost.Utility/IdentityType Boost.Utility/IdentityType 1.0.0 - Boost 1.50.0 このライブラリはマクロを多用する人向けのライブラリです。これ自体は簡単なラッパーとなっています。 例えば特殊化をマクロを使って生成したりするパターン。以下の様なゴミコードが例。 template <typename T> struct is_fug
継続が使えるようになることでうれしいのは、やはり非同期処理のコールバック地獄の解消です。 非同期処理は、処理が終わった時に呼ばれるコールバック関数を登録しますが、連続的な非同期処理をしようと思ったら非常に多くの関数を行ったり来たりして書かないといけません。ラムダ式を使うとネストの深い関数をどんどん定義していくことになるので、状況はさらに悪化します。 継続を使うとこれを解消することができます。 以下のプログラムは、Boost.ContextのサンプルにあるcontinuationクラスをBoost.Asioと組み合わせて非同期処理をその場で書き下しています。 #include <iostream> #include <boost/asio.hpp> #include "continuation.hpp" namespace asio = boost::asio; class Client {
1. メンバ変数のメンバ関数内での リソース管理 高橋晶(Akira Takahashi) id:faith_and_brave @cpp_akira Boost.勉強会 #8 大阪 2012/02/11(土) 2. RAII • C++には、RAII(Resource Acquisition Is Initialization:リソース 確保は初期化である)というイディオムがある。 • 簡単に言えば、確保したリソースはデストラクタで自動的に 解放する、というもの。 void f() { File file; file.open("a.txt"); if (!file.write("xxxxxxxx")) { return; // 途中で抜けてもファイルは閉じられる } } // ファイルが閉じられる • これはローカル変数には非常に有効。
先週名古屋にてBoost.勉強会#5が開催されました. それとは直接関係ないのですが,行きの電車の中でBoost.Variantの仕様に関して疑問をもってTwitterでつぶやいたところ@cpp_akiraさんより回答をいただいて,それがすごく興味深い内容だったのでそのやりとりをこちらでメモ. boost::variant<T1,T2,...>のオブジェクトtがあったときにt.get<T1>()と書きたいなぁ,とか…. boost::get<T1>(t)となってるのはどういう意図or理由なんでしょう.
1. Boostライブラリ一周の旅 ver.1.48.0(Merge) 高橋晶(Akira Takahashi) id:faith_and_brave @cpp_akira Boost.勉強会#7 2011/12/03(土) 3. 今回紹介するライブラリ 01.Accumulators 23.Function 45.Operators 67.Swap 02.Any 24.Function Types 46.Optional 68.System 03.Array 25.Fusion 47.Parameter 26.Geometry 69.Test 04.Asio 48.Phoenix 27.GIL 70.Thread 05.Assign 49.Pointer Container 06.Bimap 28.Graph 50.Polygon 71.Timer 29.Interprocess 72.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く