http://thread.gmane.org/gmane.comp.lib.boost.devel/120575
http://thread.gmane.org/gmane.comp.lib.boost.user/9664
本当,これどうするんだろ・・・.
デザインパターンで言うところのTemplate Methodのhookを汎用プログラミングの文脈でどう呼ぶか/どうカスタマイズするか
swap
swapに関して言えばそもそも各種アルゴリズムの実装で(ユーザ定義型に対してカスタマイズした)swapが呼ばれる保証がない
何故hookを自由関数で提供するのか
- ユーザ定義型に対するカスタマイズ性
- 組み込み型に対する適用可能性
何故,本来の名前空間にオーバーロードを導入する方法がダメなのか?
- オーバーロードを許さないclosedなscope (クラスやstd名前空間)の存在
- free template parameter
- 関数がオーバーロードされていないことに依存したコードの存在(既存コードの破壊)
- primary templateとの強い関係を持ったコードの存在(既存コードの破壊)
- 2-phase lookup周りの問題?(order dependency?)
カスタマイズの方法の問題
- クラステンプレートの静的メンバ関数に委譲する方法
- unqualified callによってADLを有効にする方法