Хочу сделать проверку типа итератора каким-то таким способом:
template <typename It, typename T>
using is = std::is_same<std::iterator_traits<It>::iterator_category, T>::value;
И потом использовать это дело в ассертах (RanIt - шаблонный тип):
static_assert(is<RanIt, std::random_access_iterator_tag>, "random access required");
Что делаю не так?
Либо замените using на constexpr bool, либо уберите из определения ::value и перенесите его в место проверки.
using - не константа, а алиас. Может быть синонимом типа, внутри которого определена константа value, но сам не может быть константой.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости