5 template<
typename It,
typename T>
6 concept Sized =
requires(It
const& it, T
const& sent) { sent.difference(it); };
8 template<
typename It,
typename T>
9 concept Equal =
requires(It
const& it, T
const& sent) { sent.equals(it); };
12template<
typename Self>
15 template<detail::Sized<Self> Iter>
16 constexpr friend auto operator-(Self
const& sent, Iter
const& it) {
17 return sent.difference(it);
20 template<detail::Sized<Self> Iter>
21 constexpr friend auto operator-(Iter
const& it, Self
const& sent) {
22 return -sent.difference(it);
27 constexpr friend auto operator==(Self
const& sent, U
const& it) ->
bool {
28 return sent.equals(it);
Definition sentinel_base.h:13
constexpr friend auto operator-(Self const &sent, Iter const &it)
Definition sentinel_base.h:16
constexpr friend auto operator-(Iter const &it, Self const &sent)
Definition sentinel_base.h:21
Definition sentinel_base.h:9
Definition sentinel_base.h:6