I want to check the type of an iterator in some way:
template <typename It, typename T> using is = std::is_same<std::iterator_traits<It>::iterator_category, T>::value;
And then use this case in asserts (
RanIt is a template type):
static_assert(is<RanIt, std::random_access_iterator_tag>, "random access required");
What am I doing wrong?
constexpr bool , or remove
::value from the definition and move it to the checkpoint.
using is not a constant, but an alias. Can be a synonym for the type within which the constant
value is defined, but cannot itself be a constant.