まともな memfun

で、 D はメンバ関数へのポインタが本当にメンバ関数へのポインタなので使えないわけです。以前書いた こんないいかげんなのだと多態できない(つまりsumimさんのメンタルモデルが裏切られない)わけですが。なんかいつ書いたかわからんけど多態できるバージョンがあったので、適当に今の D 風に引数の個数制限とか無いバージョンを作ってみました。たぶん C++ の mem_fun に期待する通りの動きなのではないかと。

http://d.shinh.org/html/toy/shinh/memfun.html

問題があるとしたら vtbl を実行時に線型探索することと final ついてる関数は実行時 assertion になるくらいでしょうかね。 final の場合もよろしくやってくれるのも作ってもいいんですけど、まぁ私的に需要無いので省略。

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h