Generic Programming with C++ Template
■ このスレッドは過去ログ倉庫に格納されています
0582VC6に乗せたい
NGNGそれはさておき。
VC++6.0は、ご承知のようにクラステンプレートの部分的な特殊化を
サポートしていません。
しかし、クラステンプレートの完全な特殊化はサポートされています。
[VC6で使えない例]
template <class TA, class TB>
struct baa{};
template <class TA>
struct baa<TA, int> ← すでに定義されているというエラーが出る
{};
[VC6で通る例]
template <class T>
struct baa{};
template <> struct baa<double> {};
あるいは、
template <class TA, class TB>
struct tee{};
template <> struct tee<double, int> {};
これだけなら大したことはできないのですが、
これをTypeAtのように、クラス内クラスで使うことで、
事実上の部分特殊化を掛けることができるようになります。
現在、手元でIndexOf まで仕上げました。
私はファンクタとダブルディスパッチを使いたいと思っているので、
それらの実装を目指すことにします。
■ このスレッドは過去ログ倉庫に格納されています