2004-01-01から1年間の記事一覧

えらいさぼったな。。

ETC

というのも、最近株の勉強をしていて忙しくて日記どころじゃなかった。 で、何で株なのかということはおいておいて、先に言っておけば私はギャンブルは嫌いだ。 だからもしやるとしたら自分の感情の入り込まない種銭運用マシーンとなるしかない。 なので今そ…

重いマーシャル運んでた腰の痛みまだ覚えてるの?

ETC

十何年ぶりにBOOWYを聞いてみる。 いや、ライブなんだけど布袋さんカッティングうまいな。。 自分は昔、といっても高校生くらいのころ 家に閉じこもって何時間も毎日毎日ギターを弾いてた時期があった。 そんなことばかりしてたのでギターの音を聞いたらどん…

ETC

今日はビデオを2本みた。一つ目はIdentityで二つ目はTheEyeという なんだか両方ともとってもヘビーで疲れた。というより萎え気味・・ 内容を書いてしまうとアレなので書くことはしないけど お話がいくらヘビーでも所詮映画なんだし。。。 と、分かってはいる…

ETC

オーナーに久々に会った やっぱりオーナーはかっこいい なんてことない馬鹿話をしていたかと思うと 一生忘れられないようなヒントを口走ったりする 仕事で煮詰まって、あー才能ないなあって思ってる自分を知ってかどうか俺は親の財産があるけどお前はない。 …

ETC

たまにはのんびりプログラミング以外の話もいいなぁ

自前仮想関数

前回やったのは継承関係が2段以上になると動かなかったのですがそれじゃああまりにもひどいので多重継承や継承関係を加味した修正をしてみました。違いはというとBase*とDerived*の両方のTypeInfoをMapに登録することで、実行時に目的の型にするためのCaster…

Cryさん(id:Cryolite:20040714)がTypedefTemplatesについて書いてくれたので、私もその話題に乗せてもらうことに・・・こういうのはトラックバックってのをしたほうがいいのかもしれないけど、ブログの何たるかを知らないぱせりは、もちろんトラックバックの…

昨日やった自前仮想関数のよーな仕組みはCRTPを使うとシンプルにできる場合が多い。まあ、とにかくソース。 #include "stdafx.h" #include <Jam/Type.hpp> #include <iostream> #include <map> using namespace std; using namespace jam; template <typename Base> void FInvoker(Base pd) { ToExact(pd)</typename></map></iostream></jam/type.hpp>…

自前仮想関数?

boostのSerializeで基底ポインタが渡されたときに、ちゃんと派生クラスの関数がよばれる。それも仮想関数じゃないのに。で、その辺はRTTIをつかってゴリゴリやってるんだけど勉強がてら真似てみる。ちなみにこの辺の仕事をこなしてるのはSerializationのvoid…

http://boost-consulting.com/mplbook/みんなはやいな・・

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

シリアライズクラスもまだできないのに、同じような仕組みで リモートプロキシクラスを考えてたり。。 こいつは分散オブジェクトとかそんな崇高なもんじゃなくて 単純にリモートに構造体やクラスをそのまま送りつけて しかもホストのオブジェクトのデータが…

ETC

さすがに昨日あんまり寝てないだけに今日はすこしだけ。 ラストサムライを見た。なかなかかっこよかった。 ストーリー的にはたいしたことなくて、どっちかというと 日本人の役者さんたちがかっこよく見えたのが印象的だなぁ。 何でもいいが、真田博之のオー…

インストールメモ

やらないとかいってたが、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っつーんですか。こーいうのがやたら多い。あと最終的に…

クラスの構成

あるクラスにT型のメンバを持たせたい。なのでT型を渡すクラステンプレートにしてみる。 template class X { T t; };これはこれでいいのかもしれない。ただ、Tじゃなくてstatic Tにしたいなんてことはよくある。もしかしたらシングルトンにしたくなるかもし…

クラスの構成(2)

こーいうローカルクラスを作ってあげるとうまくいく。ローカルクラスは含まれているクラスの名前で修飾されるから違うクラスに含まれるローカルクラスは違うクラスになるのだ。とりあえずソース。 template <typename T> struct Monostate{}; class A { static int mCoun</typename>…

インストールメモ

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ですよ。

を触ってみた。Hugsという実装があるので、早速DLしていじってみる。。しかぁ〜し、日本語で解説しているページが少ないし、しててもむずい。何かいまいちわからないぞっと。とりあえず関数呼び出しはf 1 2f(1,2) は違うってことと、自分頭わるってことはよ…

今、仕事でやってる開発でCPPUNITを使っている。使い始めたことは便利やー思っていたんだけど最近特に不満が増えてきた。まず、あたりまえなんだけどCPPUNITでテストできるのは必ず実行時の動作ってこと。たとえばテンプレートで書いたクラスなんかは こうい…

ETC

JAVAがうらやましい。C#がうらやましい。正確に言うとJAVAとかC#とかやってる人がうらやましい。もっと正確にいうと私が知らないことを知っている人がうらやましい。何かと知らない技術がそばにあるとどうしても何かすごいことをやってるんじゃないかって自…

そんなこんなでやっと出来上がったプロジェクト管理用CGI。 ちょっとだけpythonがわかったし、ちょっとだけXMLがわかったし、もちろんDOMとかいうのも。 思ったより簡単にできたけど、今回の収穫はXMLよりpythonってなんかべんりかも〜ってことかなあ。 今の…

XML

pythonでいろいろいじってみる。 最初に、expatっていうパーサーで各要素がパースされたときに イベントが発生して、そのコールバック関数を設定できるライブラリでやってみる。そのあとDOMという概念を勉強してその辺をいじってみる。 どうも自分のやりたい…

XML

boost::pythonが気になる。今までPerlを主にインタープリタとして使っていたけど、そこまで詳しい訳じゃないしなによりPerlの場合自分で書いたソースを管理保守するのがどうも苦手。おそらく自分がやっているよりもっとよい方法があるのだろうけど。それを知…

boost::function

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

ETC

受け攻め度チェックだそうで。http://u-maker.com/24583.htmlpaserryさんは 無邪気攻 です!だそうです。 無邪気攻の貴方は ★性格★ 人を楽しませることにかけては天賦の才能を持っている人です。 その場を盛り上げるために身を削る覚悟を持っています。 お人…

PETE

PETEライブラリがリンク切れてるなあ・・どっかにうつったのかな。

CRTPと型の修飾の説明を書いてみました。http://mulberryl001.ddo.jp/~paserry/この辺うまく使うと仮想関数を使わなくてすむので一度整理しようとおもってましたけどテンプレートなメタプログラミングが絡むと説明しにくいなあ