C ++ шаблонная специализация шаблонных типов - PullRequest
4 голосов
/ 23 июня 2010

Я хочу помочь пользователям некоторых из моего шаблонного кода, используя BOOST_STATIC_ASSERT, чтобы они знали, что они использовали несовместимый тип с более простым сообщением об ошибке компиляции, чем монстр, чем в настоящее время созданный с несовместимым типом. 1001 *

Пример слишком сложен, чтобы воспроизвести его здесь, но, надеюсь, это уловит суть того, что я хочу:

У меня вопрос, как отформатировать последнюю строку, «шаблон шаблона»?

template <typename P1, int P2, typename P3> 
class InterestingType

{
}

template<typename T>
struct is_interesting_type{
 static const bool value = false;
};

template<template<typename,int,typename> typename InterestingType> //No idea how to format this..
struct is_interesting_type{
 static const bool value = true;
};

1 Ответ

3 голосов
/ 23 июня 2010

Измените код на

template <typename P1, int P2, typename P3> 
struct is_interesting_type<InterestingType<P1, P2, P3> >{
 static const bool value = true;
};
...