Boost.勉強会 #1で使用したセッション資料。Boost 1.40.0までのほとんどのライブラリを書いてるはず。
C++, boost, oven | 13:10CSVの中身を構造体に読み込むならもうこのコンビ一択でいいですね。data.csv ハリード,21,12,20,17,15,19,20 カイ,10,18,20,13,24,16,21 コーデリア,20,12,18,20,11,19,20 ゲラ=ハ,18,21,16,22,16,18,15 キャット,16,22,25,10,15,14,21 レッド,20,14,18,17,11,23,17 ソース #include #include #include #include #include #include #include #pragma warning(disable: 4819) // VCだと文字コードがどうとかうるさいので警告を消す #include #pragma warning(default: 4819) #incl
"Image dans le néant" by gelinh boost.GILは凄い!開発者の頭の良さがビシビシと伝わってくる! ということで、今回はGILに関しての紹介記事を書こうと思います。 概要 あなたは画像処理のエキスパート。顧客の依頼で、8bitのRGB画像を処理するアルゴリズムを記述していたとします。ところが対象となるデバイスの仕様を調べていた際に、実はRGBA画像にも対応させなければいけないことが分かりました。面倒だと思いながら書いていた矢先、さらにBGRやABGR,さらには16や24bitにも対応したアルゴリズムを記述しなければならないことが判明しました。なんということでしょう…これらの画像すべてに対してアルゴリズムを書くなんて、とてもじゃないですがやってられない。やめてくれ!って感じです。 boostに付いてくるGILを用いることで、画像に対する操作をよりジェネリック
これまで書いてきた Boost.statechart のまとめです。 まずこれまで書いたのは以下の 6 エントリです。本記事を入れて全 7 エントリとなります。 Boost.statechart 事始め Boost.statechart でイベントを受け取る Boost.statechart で状態のネストを定義する。 Boost.statechart で現在の状態を確認する。 Boost.statechart で複数状態を持つマシンを実装する。 Boost.statechart で CSV を読む。 主に参照したドキュメントはこちら。 The Boost Statechart Library 状態のモデリングは「State パターン」というそれっぽい名前がついているぐらいなのでプログラマなら誰もが一度は意識した事があるかと思います。 で、僕もご多分に漏れず状態をそれっぽく表現しようと試み
Boostに以前からread-writeロックは実装されていたようですがバグがあったとかで最近の物ではupgrade_lock, upgrade_to_unique_lockにさし変わっています。 ただのロックと比べてパフォーマンスが出やすい上に素性の良い設計だと思うので紹介してみようと思います。 read lock read-lockをする場合はshared_mutexを引数にshared_lockをかけてやればいいです。 #include <boost/thread.hpp> using namespace boost; shared_mutex mutex; void reader(){ shared_lock<shared_mutex> read_lock(mutex); // ここでロック! // クリティカルセクション } スコープを外れると同時にshared_lockのデスト
先日のグラフをGraphvizの*.dot形式で出力してみよう。 #include <fstream> #include <vector> #include <string> #include <boost/graph/adjacency_list.hpp> #include <boost/graph/graphviz.hpp> typedef boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int>> Graph; typedef std::pair<int, int> Edge; enum { A, B, C, D, E, N }; const std::string name = "A
With the exceptions noted below, this work is licensed under a Creative Commons Attribution - NonCommercial - NoDerivatives 4.0 International License. Visit https://creativecommons.org/licenses/by-nc-nd/4.0/deed.en to view a copy of the full license. Exceptions: The Boost C++ logo is the property of the Boost C++ developers and is used here with their permission. With the exception of the Boost C+
参考 http://d.hatena.ne.jp/syou6162/20090410/1239328354 http://www.kmonos.net/alang/boost/classes/filesystem.html main.cpp #include <iostream> #include <boost/filesystem/operations.hpp> #include <boost/filesystem/path.hpp> #include <boost/filesystem/fstream.hpp> using namespace std; using namespace boost; namespace fs = boost::filesystem; int main(void) { string pt = "/Users/sho/"; fs::path path = c
Main All Broadcasts | Videos Upcoming | Mobile Categories All | Entertainment Sports | Animals Music | How-to Gaming | Religion Events | Technology News | 24/7 Help & Info Help Center | Live Help Terms of Service Privacy Policy Copyright Policy Safety Tips Ustream Watershed | About Us Our Blog | Press Contact | Developers Jobs | Message Board Mobile App | Media Kit Network Us Twitter
参考: http://d.hatena.ne.jp/faith_and_brave/20100201/1264997004 「C++0xになると、C++03 でごちゃごちゃした部分がだいぶすっきり書けるようになる」 らしいですが、C++0xを待たなくてもBoostを使えばだいぶすっきり書けるので、 BoostでのC++入門はこんな感じだよー、という気持ちで以下略。 この記事はC言語をある程度理解していることが前提です。 1. Hello World C++/Boostでの出力はC++標準の IOStream ライブラリと Boost.Format を組み合わせて行います。 例として、C言語のprintfを用いた Hello World を、C++/Boostを使って書き直してみます。 #include <stdio.h> int main() { printf( "%s\n", "Hell
Pimpl.zip Version 1.13. Pimpl idiom generalization. Linux and VS2005. Support for value and pointer semantics. Support for boost::serialization. Support for separate -- interface and implementation -- class hierarchies as described in the GoF for the Bridge pattern. Support for internal (implementation) run-time polymorphism (Non-Virtual Interface Idiom). Tutorial. Doxygen-generated docs.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く