boost

最近やっとSerializeの実装が分かってきたような・・で、そのSerializeの実装にmplとtype_traitsがよく出てくるんでそっちのほうの実装も結構見てたりするんだけどその中のis_polymorphicってのが、ずっとSerialize専用のものだと思ってて気にもしてなかった…

インストールメモ

やらないとかいってたが、SerializeのインストールがマルチスレッドDLLデバッグしか作ってくれないのでちょっといじってみた。jamfileみるとstatic singleになってるのに出力されるのはmtなんですが・・orzつーわけでjamfile書き直し。書き直した部分はこん…

引き続き・・

serialize? serialization?のソースとにらめっこしてて思ったのが static extended_type_info * get_instance(){ static extended_type_info_typeid instance; return & instance; }みたいなmonostateっつーんですか。こーいうのがやたら多い。あと最終的に…

インストールメモ

pythonいれたのとserializeいれたのでリコンパイルC:\boost_1_31_0>bjam -sTOOLS=vc7.1 --with-python-root=C:\Python23jp stageって、そのままじゃserializeはstageじゃコンパイルできないらしいのでserializeのjamfileに以下を追加してコンパイルする stag…

BOOST_CLASS_EXPORT_GUID_ARCHIVE_LIST

boost::serializeのベータテスト版を解析していてserialization/export.hppにBOOST_CLASS_EXPORT_GUID_ARCHIVE_LISTというマクロがいてどうやらこいつがクラスごとの識別子を生成してるっぽい。この辺の仕組みがmplでできてて、TypeList使って識別子ごとにID…

mpl

今日の課題はboost::mpl。MetaProgrammingですよ。

boost::function

boostはtemplateとマクロいっぱいで、どうやって実装されているのだろうって考えてしまうクラスが非常におおいのだが、その中でも特にfunctionは摩訶不思議な雰囲気があって一度実態を探るべく解析してみた。 #define BOOST_FUNCTION_NUM_ARGS 1 # ifndef BO…