как определить, является ли тип итератором или const_iterator

Мне интересно, есть ли способ проверить во время компиляции, является ли тип T некоторого типа итератора const_iterator или нет. есть ли разница в типах, определяемых итераторами (тип_значения, указатель, ...) между итераторами и константными итераторами?

Я бы хотел добиться примерно следующего:

typedef std::vector<int> T;

is_const_iterator<T::iterator>::value       // is false
is_const_iterator<T::const_iterator>::value // is true
14
задан Jan Holecek 24 March 2011 в 19:23
поделиться