Ranges in C++20

In C++20, the range concept requires that an object has both an iterator, and an end sentinel. This is useful in the context of standard collections, in particular when developing algorithms (i.e. template functions) which operate on collections. Motivation Suppose we have a vector of values which we want to sort: std::vector<int> values = {10, … Read more