Хочу сделать проверку типа итератора каким-то таким способом:
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
, но сам не может быть константой.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Как перебрать последовательность букв в цикле? каждую последовательность нужно иметь возможность получить, зная номер позиции
Что может означать операция i = i & (i+1) в реализации дерева отрезков?
Здравствуйте! У меня есть задание написать дочерний класс Треугольник от класса УголКласс Угол уже готов, но у меня есть задание: имея класс...
Не удаётся найти компонент TDBGrid в Embarcadero C++ Builder 102