C++ standard does NOT guarantee that std::generate assigns elements in sequential order, but this severely limits its usefulness. In that case, I can only think of two possible uses:
A functor which returns a constant value. But you could just use std::fill.
Filling a data structure with random or arbitrary values not guaranteed to be reproducible from the same seed.
Other than that, what are some non-trivial uses of std::generate that conform to the C++ standard?