タグ

c++とboostに関するgologo13のブックマーク (10)

  • C++, boost::thread : スレッドの生成と実行

    C/C++でスレッドを扱う場合は、プラットフォームによって使用するライブラリが違います。 Windows なら Windows API の thread で、 UNIX や Linux 系ならば pthread ライブラリ等を使用します。プラットフォーム依存するコードは可搬性に難があり、解決策の1つとしてプリコンパイルで依存部分をプラットフォームに合わせたライブラリを選択してコンパイルする方法があります。 boost ライブラリの boost::thread は、上のような処理をラップして共通のインターフェイスとして実装されています。 boost/thread.hppの一部 #if defined(BOOST_THREAD_PLATFORM_WIN32) #include <boost/thread/win32/thread.hpp> #elif defined(BOOST_THREAD_

    C++, boost::thread : スレッドの生成と実行
  • shared_array

    shared_array class template shared_array クラステンプレートは動的に割り当てられた配列へのポインタを保持する。 (動的に割り当てられた配列とは、C++ の new[] によって割り当てられたものである。) shared_array に指されたオブジェクトは、そのオブジェクトを指す最後の shared_array が破棄もしくはリセットされるときに削除されることが保証される。 全ての shared_array はC++標準ライブラリの CopyConstructible (コピーコンストラクト可能)と Assignable (代入可能)の条件を満たすので、標準ライブラリのコンテナで使うことができる。 また、標準ライブラリの連想コンテナで使うことができるように、比較演算子が提供されている。 通常、shared_array は new により割り当てられた

  • Boost.PropertyMap (.pdf)

    2010/10/23 Boost.勉強会 #3 関西 プレゼン資料 .pdf とりあえず upload 版Read less

    Boost.PropertyMap (.pdf)
  • Boostの遊び方(ライブラリまとめ)

    私は「Boostを使って」ではなく「Boostを作って」勉強している 仕事ではBoostを使いたくても使えないことが多いだろう (「フリーのライブラリなんて使っちゃダメ」とか言われて) そこで、Boostの必要なもののみを作って使用している 各機能をヘッダーファイル1で提供できるので移植もしやすいだろう このブログで紹介したものを以下にまとめる(※随時更新) 【Boost家】 Boost C++ Libraries Boost C++ Libraries(cppllによる翻訳) 【Boostからの移植】 ・shared_ptr 参照カウント付きスマートポインタ ・shared_array 参照カウント付きスマートポインタの配列版 ・array 固定長配列 ・lexical_cast 数値と文字列の相互変換 ・type_traits 型特性 ・scope_guard ・static_as

    Boostの遊び方(ライブラリまとめ)
  • split : 文字列を分割 « airgreen

    photo credit: Emery_Way 自作: #include <string> #include <vector> #include <iostream> #include <boost/foreach.hpp> /** * split 関数 * @param str   文字列 * @param delim デリミタ * @return 分割された文字列 */ std::vector<std::string> split(std::string str, std::string delim) { std::vector<std::string > result; int start = 0, end; while ((end = str.find_first_of(delim, start)) != str.npos) { // if (end - start > 0) //

  • boost::regex での正規表現

    文字クラス 角カッコ([ ])で囲まれた部分は文字クラス表現となります。 角カッコで囲まれた文字は、「そのいずれかにマッチする」という意味になります。 例えば、 abc[ACD]123 という正規表現に対しては、 abcA123 abcC123 abcD123 はマッチしますが、 abcAC123 abcX123 などはマッチしません。 また、文字クラス内ではハイフン(-)を用いて「範囲」を表すことができます。 例えば、 abc[3-8]123 という正規表現に対しては abc3123 abc4123 ... abc8123 がマッチします。 さらに、ハット(^)を用いて「否定」を表すことができます。 例えば、 abc[^A-Z]123 という正規表現は文字クラス部分が「大文字のアルファベット以外」 を表現しているので、 abca123 abc%123 などがマッチしますが、 abcX12

  • 株式会社エス・スリー・フォー » 正規表現ライブラリ ‘Boost Regex++’ の使い方

    正規表現ライブラリ ‘Boost Regex++’ の使い方 ‘webを介したプログラムの実行’というアプリケーションの新しい形態が現れ、perl,pythonなどに代表されるスクリプト言語がよく利用されるようになりました。スクリプト言語の多くはテキストすなわち文字列を扱うのを得意としています。 一方C++は文字列を扱うのがあまり得意ではありません。 最近になってようやく文字列を表現するクラスstd::basic_string が標準ライブラリに組み入れられました。 これによって文字列操作を頻繁に行い、かつ移植性の高いアプリケーションの実装がとてもやりやすくなりました。 しかしながら標準の文字列を手に入れたC++でもperlなどのスクリプト言語にかなわないことの一つが’正規表現(regular expression)’です。 たとえばWebの自動巡回を行うアプリケーションを考えてみましょう

  • 新たなBoost本 『Software Development using the C++ Boost Library』 - Faith and Brave - C++で遊ぼう

    "Software Development using the C++ Boost Library", book in preparatiion 新しいBoostが出るようです。 『Software Development using the C++ Boost Library』 - Daniel J. Duffy, Robert Demming こので議論する内容: STLアルゴリズムの使用を容易にするためにLambdaを使用する MVC, Observer, PACパターン(GOF, POSA)を実装するためにSignalsを使用する 偏微分方程式(PDF:partial differential equations)を準離散化するためにBindとFunctionを使用する モンテカルロシミュレーション、数値積分法およびoption pricing(オプション価格設定?)のためのR

    新たなBoost本 『Software Development using the C++ Boost Library』 - Faith and Brave - C++で遊ぼう
  • Let's Boost

    Boost C++ Libraries の紹介サイトです。 :: by Google はじめに ご挨拶 Boost のインストール方法 参考リンク集 ニュース ◆ Version 1.42.0 と 1.41.0 対応 (2010/03/14) 新規ライブラリに関する Let's Boost のページ…: property_tree (汎用木構造型コンフィグ管理) / uuid (ユニークID生成器) ◆ RSS つけました (2009/08/28) ◆ Version 1.40.0 と 1.39.0 対応 (2009/08/28) 新規ライブラリに関する Let's Boost のページ…: Signals2 (Signal/Slotライブラリ改良版) ◆ Version 1.38.0 と 1.37.0 対応 (2009/02/22) 新規ライブラリに関する Let's Boost のペー

  • Boost C++ Libraries

    Boost C++ Libraries ...one of the most highly regarded and expertly designed C++ library projects in the world. — Herb Sutter and Andrei Alexandrescu, C++ Coding Standards Welcome to Boost.org! Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful, and usable across a br

    Boost C++ Libraries
  • 1