タグ

ブックマーク / blog.cryolite.net (5)

  • Boost のファイルのうち必要なものだけを抜き出す - Cry’s Diary

    以下,BOOST_ROOT を Boost のディレクトリのルートとする. 今,BOOST_ROOT にいるとする.コマンドライン上で tools/bcp へ移動して bjam でビルド. >cd tools >cd bcp >bjam (オプションは Boost のライブラリのビルドと一緒)この時点で BOOST_ROOT の下に dist というディレクトリができてその中に bcp という実行ファイルができている.それにパスを通す. で,例えば以下のような内容の C++ ソースを作成. #include <boost/shared_ptr.hpp>これを bcp_test.cpp としてカレントに保存.target_dir というディレクトリを作成.以下のコマンドを入力. >bcp --scan --boost=BOOST_ROOT bcp_test.cpp target_dirtar

    Boost のファイルのうち必要なものだけを抜き出す - Cry’s Diary
    lizy
    lizy 2010/02/20
  • 動的削除子 (dynamic deleter) - 意外と知られていない? boost::shared_ptr の側面 - Cry’s Diary

    boost::shared_ptr は動的削除子 (dynamic deleter) と呼ばれる技法に基づいて実装されています.この動的削除子という技法で重要なのは, boost::shared_ptr が最終的に呼び出す解放処理が boost::shared_ptr のテンプレート引数の型に関係なく,コンストラクタに実際に渡されたポインタの型で,かつ boost::shared_ptr のコンストラクタの呼び出しの段階で 決定する,ということです. 以下のようなコードが,動的削除子の効果が一番分かりやすい例になるでしょう. class X{ public: ~X() { std::cout << "X::~X" << std::endl; } }; class B{ public: ~B() // virtual でないことに注意!! { std::cout << "B::~B" <<

    動的削除子 (dynamic deleter) - 意外と知られていない? boost::shared_ptr の側面 - Cry’s Diary
    lizy
    lizy 2008/08/03
  • [C++][C++0x]structual よりも non-intrusive だと思うにゃー - Cry’s Diary

    http://www.kmonos.net/wlog/85.html#_0905080505 う〜ん, structural かどうかではなくて non-intrusive かどうかっていう軸の方が重要だと思うんですけれどどうなんでしょうかねー. non-intrusive という言葉を明快に定義してくれている書籍なりサイトなりが少なくてアレなんですが,オレオレな理解で行くと, non-intrusive とは,あるデータ型 T が何らかの制約 (これこれこういうインタフェイスを持ってないといけないよ,という決まり) を満足しているかどうか,に関する記述が T の定義と独立に記述することができる,あるいはもはや制約の充足に関する記述自体不要,ということだと理解しています. 歴史的な流れでいうと STL の存在が大きいのはこれは k.inaba さんの指摘どおりだと自分も思っていて,たとえば

    [C++][C++0x]structual よりも non-intrusive だと思うにゃー - Cry’s Diary
    lizy
    lizy 2008/05/11
    C++のtemplateは単なるコンパイル時パターンマッチしてくれる便利なもの程度に考えていた
  • EASTL -- Electronic Arts Standard Template Library - Cry's Blog

    やらなきゃいけない仕事があるときに限って非常に面白いドキュメントを発見してしまうの法則.http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html 何も提案してない paper だけどこれ読み物としてすげー面白いじゃん.ゲーム開発のかの字も知らない俺 (でも「ゲ」と「ー」と「ム」の字は知っている俺) でも,何が問題なのかが整理されていて非常に興味を惹かれる.いや,ゲーム開発を知らないからこそ得るものが大きいのか.ゲーム開発という立場から STL に批評加えるという立ち位置が固定されているにもかかわらず,そのゲーム開発に関するあらゆる角度から徹底的に争点と問題点を洗い出しているこの paper は,今まで自分が見聞きしてきた STL 批評の中でも群を抜いた出来ではないかと思う.うーん,やっぱすごいところにはすごい人たち

    EASTL -- Electronic Arts Standard Template Library - Cry's Blog
    lizy
    lizy 2008/01/26
  • GCC (libstdc++) 付属の STL をマルチスレッド環境で使うにはどういう設定が要るんでしょうか?という基本的な疑問 - Cry's Blog

    あったあった. When you link a multithreaded application, you will probably need to add a library or flag to g++. This is a very non-standardized area of GCC across ports. Some ports support a special flag (the spelling isn't even standardized yet) to add all required macros to a compilation (if any such flags are required then you must provide the flag for all compilations not just linking) and link-lib

    GCC (libstdc++) 付属の STL をマルチスレッド環境で使うにはどういう設定が要るんでしょうか?という基本的な疑問 - Cry's Blog
  • 1