C++ Logo

std-discussion

Advanced search

Re: Indexes in ranged loops for all containers

From: Jens Maurer <Jens.Maurer_at_[hidden]>
Date: Wed, 4 May 2022 21:56:07 +0200
On 04/05/2022 21.43, Joey Pendergrast via Std-Discussion wrote:
> I like the way that std::map gives the key and value for ranged loops:
> for (auto& [key, value] : my_map)
>
> Why don't other containers allow for the "index" to also be gotten in a similar way?
>
> for (auto& [index, value] : any_container) would be convenient to have as well.
>
> Or, can this be done, but I'm just unaware? Thanks in advance.

Maybe something like

for (auto& [value, index] : std::views::zip_view(my_vector, std::views::iota_view(0, my_vector.size()))) { ...}

could work.

Jens

Received on 2022-05-04 19:56:11