id:Cryolite:20040909を書いて,そう言えば似たようなことをどこかで見たような・・・と思ってBoost C++ Library プログラミング読み返してみたらboost::anyのところに素晴らしい説明があるじゃないですか.ぶーぶーぶー.
これも発想としては「保持している型を消す」+「型の情報を関数のオーバーロードに保持させる」と言えそうだ.
この「型安全性を保持しながら型の情報を消す」というのは,案外応用範囲が広いんじゃないか?any_iteratorなんて提案もあるし.とにかくいちいち継承関係結ばなくても良いというのがすごく魅力的.逆にやれることが限られてくるけれど.ま,だからこそファンクタやイテレータといった出来ることがあらかじめ限られているものではすごい効力を発揮するとも言えるのかな?