19 template<
class S,
class I,
class =
void>
struct is_sentinel_for : std::false_type {};
21 template<
class S,
class I>
25 std::is_same_v<S, I> ||
26 (is_semiregular_v<S> &&
27 is_input_or_output_iterator_v<I>)
29 >> : std::true_type {};
35 template<
class S,
class I>
Definition is_sentinel_for.hpp:36
Definition Partitioner.hpp:146
bool constexpr is_sentinel_for_v
A C++17 type trait equivalent to the C++20 sentinel_for concept.
Definition is_sentinel_for.hpp:32
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
A C++17 type trait equivalent to the C++20 sentinel_for concept.
Definition is_sentinel_for.hpp:19