Я только что узнал, что boost :: array :: static_size не является частью tr1 :: array, или, по крайней мере, его нет в моей реализации (GCC 4.2.1), и я не могу найти его ни в одной документации tr1 ,
Есть ли другой способ выполнить утверждение во время компиляции относительно количества элементов в массиве tr1?
например. Следующее работает с массивом boost, но не с массивом tr1:
template<typename T>
void CheckArray(const T& input) {
BOOST_STATIC_ASSERT(T::static_size >= 2);
}
Я знаю, что вместо этого могу использовать массив boost, но мне любопытно.
Если нет способа сделать это, может кто-то знает, почему static_size не был включен в tr1? Это просто функция, которая была добавлена для повышения после создания tr1?