⟨function object argument⟩ transformation which an algorithm applies before inspecting the values of elements
[ Example:
std::pair<int, const char*> pairs[] = {{2, "foo"}, {1, "bar"}, {0, "baz"}}; ranges::sort(pairs, std::less<>{}, [](auto const& p) { return p.first; });
sorts the pairs in increasing order of their first members:
{{0, "baz"}, {1, "bar"}, {2, "foo"}}
— end example ]