C++ Logo


Advanced search

Re: [std-proposals] Add more methods to std::initializer_list instead of overloading

From: Jiang An <de34_at_[hidden]>
Date: Sun, 04 Sep 2022 18:55:04 +0800
What I hate is the dependency itself, which is not necessary related to the freestanding stuffs.

It's a non-issue that not everyone uses something. Not everyone perfers direct usage of member begin and its friends, either. And only by non-member functions (or CPOs) can we achieve consistency for built-in arrays.

Jiang An

在 blacktea hamburger via Std-Proposals <std-proposals_at_[hidden]>,2022年9月4日 17:22写道:

Sorry, I ignored maps.

As I said earlier, not everyone uses ranges::*.

On Sat, Sep 3, 2022 at 11:03 PM Jason McKesson via Std-Proposals <std-proposals_at_[hidden]> wrote:
On Sat, Sep 3, 2022 at 9:26 AM blacktea hamburger via Std-Proposals
<std-proposals_at_[hidden]> wrote:
> How do you explain associative/unordered associative containers? Both their iterator/const_iterator member types are constant iterators, but they still provide cbegin/cend methods.

For the various `set`s, they are constant iterators. But this is not
true for `map`s: the key of the pair is const, but not the value.

> And how do you explain rbegin/rend/empty, etc?

What about them? The whole point of `ranges::rbegin/rend` is that
people who write some range type don't have to provide those members
at all if the defaults of `ranges::rbeing/rend` work. And they do work
for `initializer_list`.
Std-Proposals mailing list

Received on 2022-09-04 10:55:15