- 646 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 05:56:24 ]
- >>643-644
> ADL による hook は loose match で済む, こいつの解決策だけど、 案1: オーバーロードを追加するとき、新しい名前を導入したとみなさないで 部分特殊化と同様に扱えるような構文を導入する lazyoverload operator+; namespace std { ... namespace hooks { lazyoverload swap; template <class T, class Alloc> void swap(std::vector<T, Alloc> &a1, std::vector<T, Alloc> &a2) { a1.swap(a2); } } } template <class T> std::complex<T> operator+(const std::complex<T> &a1, const std::complex<T> &a2) { ... } コンパイラから見ればKoenig lookupとほとんど同じ機能だから、 実装は不可能ではないはず。
|

|