Re[3]: Специализация шаблона класса шаблонным параметром
От: rg45 СССР  
Дата: 29.02.12 22:21
Оценка:
Здравствуйте, NikolayVoronetskiy, Вы писали:

NV>>>Задача в том, чтобы таким же образом специализировать шаблон класса, грубо говоря:

LC>>Может нужно не шаблон класса специализировать, а специализировать шаблонную функцию-член класса?

NV>Нет к сожалению мне нужна не функция, а мне нужно следующее если говорить конкретно:


NV>
NV>template<class C, class T> class Bar            { typedef T Type; };
NV>template<class C, template <class> class T> class Bar    { typedef T<C> Type; };
NV>


Возможно, все проще?

// The primary template
template<class T> 
class Bar            
{ 
public:
  typedef T Type; 
};

// A partial specialization for templates with single type parameter
template<class C, template <class> class T> 
class Bar<T<C> >    
{ 
public:
  typedef T<C> Type; 
};

// Use cases
class TestClass { };
template<class T> class TestTemplate { };

Bar<TestClass>::Type a;
Bar<TestTemplate<int> >::Type b;
--
Справедливость выше закона. А человечность выше справедливости.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.