2012-03-26 6 views
0

basic_string用にこのテンプレートを特殊化することはできますか?テンプレート用にテンプレートを特化する方法

template<class T> struct X {}; 

のbasic_stringは、テンプレートそのものであるので、私はこれが解決策になる知っている:しかし、私はそれを専門にすることにより、言語は最初のテンプレート定義を維持することを可能にするかどうかを知りたい

template <template <class, class, class> class T> struct X {}; template <> struct X<basic_string> {}; 

何とかbasic_stringだけです。

答えて

3

はい:

#include <string> 

template <typename> struct X; 

template <typename TChar, typename TTraits, typename TAlloc> 
struct X<std::basic_string<TChar, TTraits, TAlloc>> 
{ 
    // ... 
}; 

はあなたの主なテンプレートはので、すべての専門は、Xのために一つの方法または別の1種類のパラメータを指定する必要があり、1つのタイプパラメータを取ります。