2005-11-04から1日間の記事一覧

コード変換と blocking

どーでも良いけれど,いや良くないけれど,ストリーム上でのコード変換って一般に non-blocking なんだよなー.Boost.Iostreams って今のところ blocking I/O しか対応してないから,non-blocking I/O を blocking I/O に修正しないといかんのが微妙に面倒と…

未初期化な領域とアラインメント

C++

http://d.hatena.ne.jp/Cryolite/20051102#p1 を書いておいて,未初期化な領域とアラインメントについての配慮が実際に必要になる具体例を書かないと片手落ちな気がするのでとりあえず自分が知っている範囲で列挙しておきます. 自動変数として確保した領域…

std::codecvt with オレオレ state_type

C++

http://d.hatena.ne.jp/Cryolite/20051103#p1 に関して.自分がやりたいことは独自に定義したクラスを state_type としてコード変換することなので,std::codecvt から継承するんじゃなくて直接 std::codecvt の特殊化版を作れば良い事に気が付いた.std 名…

A challenging task - Seekable conversion stream filter

今,シークが可能な入力ストリームがあったとして,そのストリームに何らかの変換,例えば文字コード変換を行ってその変換結果を読むようなフィルタを実装するとする. 便宜上,(フィルタから見た立場で)変換前の入力ストリームを「入力ストリーム」,変換…

うにこーどのおべんきょ

この前買い込んだ本そっちのけで以下らへんを読み漁って Unicode 周りのおべんきょ. http://webstore.ansi.org/ansidocstore/product.asp?sku=INCITS%2FISO%2FIEC+10646%2D1%2D2000 http://www.amazon.co.jp/exec/obidos/ASIN/0321185781 http://www.amazon…

Exception specification - 例外指定

C++

まー,一般に C++ の例外指定は避けるべき(例外非送出指定 throw() だけは場合によっては OK)というのが半ば常識だけれど,これは例外指定が実行時での検出なので実行時のオーバーヘッドを食う上に,例外指定に違反した場合,単に unexpected が呼ばれるだ…