std.signals

http://www.digitalmars.com/d/2.0/phobos/std_signals.html
Phobosだとどうやってるのか見てみたら,かなりシンプルだった.オブジェクトかメンバ関数じゃないと駄目なのは,削除された時にスロットを自動で削除するためにrt_*DisposeEventで感知してるからっぽい.この辺trackableな機構を使えば構造体とかでもなんとかなりそうではある(delegateだとどうなんだろ?).
後同期処理とか全然やってないし結合子もない.まぁだから100行強のtemplateでmixinするだけで使えるというお手軽さなんだろうけど.

ソースレベルで気になる所があって,connectでcalloc/realloc使ってるのは何でなのかなぁと("but use malloc() and friends instead"とか書いてるけど…).後過去使ってたラベルが残っているのががが.