Default constructed iterators as past-the-end iterators

Starting from C++14 we have that: A value-initialized ForwardIterator behaves like the past-the-end iterator of some unspecified empty container: it compares equal to all value-initialized ForwardIterators of the same type. This answer on SO explains this well: Forward iterators and stronger are generally just a lightweight handle onto something…

Delimited ranges

Phenomenal article by Eric Niebler. Lately, I had to write a similar iterator and I was at first puzzled by the need of taking into account for the sentinel.…