Можно ли написать черту типа, значение которой истинно для всех общих структур STL (например, vector
, set
, map
,...)?
Чтобы начать работу, я хотел бы написать черту типа, которая верна для vector
и false в противном случае. Я пробовал это, но он не компилируется:
template<class T, typename Enable = void>
struct is_vector {
static bool const value = false;
};
template<class T, class U>
struct is_vector<T, typename boost::enable_if<boost::is_same<T, std::vector<U> > >::type> {
static bool const value = true;
};
Сообщение об ошибке template parameters not used in partial specialization: U
.