C++ Logo


Advanced search

Re: [SG10] Updates to SD-6

From: Ed Smith-Rowland <3dw4rd_at_[hidden]>
Date: Wed, 31 Dec 2014 08:19:12 -0500
On 12/31/2014 05:31 AM, Jonathan Wakely wrote:
> On 31 December 2014 at 01:16, Ed Smith-Rowland wrote:
>>>> N4280 - Non-member size() and more: __cpp_lib_nonmember_container_access 201411.
>>> OK. I have another question about this one. It mentions that the new
>>> declarations are available by including any of an even dozen headers. Does
>>> that mean that our recommendations should specify this macro as being
>>> defined by all of those headers?
>> On second reading I'm not actually sure whether these things go into
>> std:: or std::experimental::...
>> So should they be pulled into <vector> or <experimental/vector>?
> They've been added to the C++17 working paper, not to a TS, so they
> are in namespace std and are in <vector> etc. not
> <experimental/vector>.
Thank you for the clarification. Looking at nonmember begin and end it
is clear that these new components are a continuation of these. These
new members are included in exactly the same headers as begin and end.

I move we retroactively add

__cpp_lib_nonmember_container_access ??? I think these came in with range-for.

for std::begin(), std::end(). Even this might not be the last word on
nonmember container access (wasn't someone going to add cbegin cend?)

In answer to Clarks question I think we should say that this macro is
included in all the container headers - annoying as it is.

Received on 2015-01-01 03:20:20