運命のハンドル

起きたら重要なことに気が付いた. Cryolite というは日本語で「氷晶石」という.
これ「翠星石」に似てね?
Cryolite というハンドルを付けたのはローゼンメイデンを知る遥か以前の高校生の時分だから,これはきっと前世から定められた運命とか何かそんな感じに違いねーですっ!!

汎用プログラミングにおけるアダプタの一般化

アダプタという言葉だけでは一般に漠然としすぎているので,(汎用プログラミングの文脈での)アダプタというのを「アダプタの適用前のクラスも適用後のクラスも,あるコンセプトに属するモデルの集合に入っている(あるコンセプトに属するモデル集合上で閉じている)」ちぅ観点で捉えるっちゅーのはどうかにゃーっていう.
こう考えると何がうれしいかって,あるコンセプト上の1項のアダプタに合成 (composition) の演算を導入するとモノイドとして記述できるっちぅ.で,モノイドだからというのを理由に演算子オーバーロードを使うことを目論んでわはー♪という……ダメ?

MinGW で wchar_t

MinGW で wchar_t を使うときに,特にストリーム周りでコンパイルエラーが発生する.直接の原因は std::char_traits の wchar_t に対する特殊化(場所は %(MinGW がインストールされているディレクトリ)%\include\c++\3.4.2\bits\char_traits.h)で, pos_type と state_type の内部 typedef の定義が #if で消されていることによるもの.なぜこの定義を消しているのかは不明. _GLIBCXX_USE_WCHAR_T とやらを定義すればよいのかと思ったけれど,これを定義するとさらに雑多なエラーでぎゃーす.エラーが多すぎて解析する気力が起きないので断念.んが,試しに #if を消してこの2つを定義した状態にするととりあえずストリーム周り(std::wstring のストリームへの出力とか)は問題なくコンパイルが通る.ぬーん.
とりあえず使えるからこれで納得しようかな…….しかし「よく分からないけれどとりあえず使えている」状態というのは,自分的にちょー嫌いなんだけどにゃー.