On Mon, 10 Feb 2025 at 14:18, Pau Miquel Montequi Hernandez via Std-Proposals <std-proposals@lists.isocpp.org> wrote:

More flexible for loop initialization, allowing multiple init statements:
template <auto size>
void lcase(const char (&in)[size], char (&out)[size])
{
    for (auto b = in, e = in + size; auto o = out; b != e; ++b, ++o)

You can do this today with a structured binding:

  for (auto [b,e,o] = std::tuple(in, in + size, out); b != e; ++b, ++o)
 
        *o = std::tolower(*b);
}