2005-09-01から1ヶ月間の記事一覧

cpp_to_hatenaのスタイルシートの例

Eclipse風

cpp_to_hatena

C++言語のキーワードを色付けした、はてな用のHTMLの断片を出力します Biscuit Version 1.00.4 以降の"libs/test/"にあります Mingw32(英語のみ)とVC++7.1で動作確認 ディレクティブにはほとんど対応していません 以下、自分自身で色付けされたソースコード…

cpp_to_hatenaの実装のメモ

((や[は特別な意味を持つので数値文字参照を使ってエスケープしなければならない キーワードと見なされないように[]のペアで囲まなければならない ペアの[]は複数行にまたがってはならない また、タグを飛び越してはならない Boost.Regexの色付けのサンプル…

3.3.1 Point of declaration

C++

初期化子の手前で有効になるので駄目 (3.3.1 -1-)

12.6.2 Initializing bases and members

C++

コンストラクタの仮引数とメンバ変数の名前が同じでもよい (12.6.2 -7-)

Boost.ForeachとBoost.RangeEx

Boost.Iteratorのboost::filter_iteratorは使い方がめんどう Boost.RangeExのboost::make_filter_rangeでその作業を自動化できる そのままBoost.RangeExの関数はもちろん、BOOST_FOREACHにも渡せる 以下のfind_fileの実装はKetchup Version1.02にあります []…

Boost.Intrusive

伝統的なリンクリストの構造体をContainer風に操作できる 伝統的なリンクリストはノードポインタを要素に埋め込むことでメモリアクセスの負担を軽くする CPUにとってアクセスが容易なメモリの塊(std::vectorなど)を利用してリンク構造を提供できる Boost.Ptr…

予約名

C++

2連のアンダースコアを含んではいけない 標準規格、説明

Boost.Null

大昔にボツになったと思われるものがSandboxにある しかしまた消えていた []#include[][] <boost/config.hpp>[][]namespace[] []poost[] {[]#if[][] !defined(BOOST_NO_MEMBER_TEMPLATES)[] []namespace[] []detail[] { []struct[] []null_type[]</boost/config.hpp>

Boost.PFTO

VC6やeVC4でPartial Function Template Orderingが使える ディスパッチ用の引数、'BOOST_PFTO int'を"primary"に、'int'をoverloadする方に加える BOOST_PFTOはlongと定義されていて、0で呼び出すとintが優先されてoverloadした方が呼ばれる Boost.Serializa…

Boost.Rangeの実装の仕方

古いコンパイラの場合は、boost::beginではなく、boost_range_beginをオーバーロードしないとコンパイルできない そのことがドキュメントされていない・・・参考 VC6で動くようにするためにはドキュメントされていない部分を実装しないといけない ATL/WTL CS…