Boost logo

Boost :

Subject: Re: [boost] [variant] Please vote for behavior
From: Paul Smith (pl.smith.mail_at_[hidden])
Date: 2013-02-01 11:39:06


On Fri, Feb 1, 2013 at 6:06 PM, Larry Evans <cppljevans_at_[hidden]> wrote:
> On 02/01/13 09:20, Paul Smith wrote:
>> On Fri, Feb 1, 2013 at 4:57 PM, Dave Abrahams <dave_at_[hidden]> wrote:
>>>
>>> on Thu Jan 31 2013, Paul Smith <pl.smith.mail-AT-gmail.com> wrote:
>>>
>>>> On Thu, Jan 31, 2013 at 10:11 PM, Dave Abrahams <dave_at_[hidden]> wrote:
>>>>>
>>>>> on Thu Jan 31 2013, Paul Smith <pl.smith.mail-AT-gmail.com> wrote:
>>>>>
>>>>>> On Thu, Jan 31, 2013 at 3:22 AM, Dave Abrahams <dave_at_[hidden]> wrote:
>>>>>>>
>>>>
>>>>>>> on Mon Jan 28 2013, Paul Smith <pl.smith.mail-AT-gmail.com> wrote:
>>>>>>>
>>>>>>>> This issue has been discussed more than once before, and nothing I say
>>>>>>>> here is my own opinion, so please don't take it out on me.
>>>>>>
>>>>>>>> For example, see N3264 (CH-18 and US-85: Clarifying the state of
>>>>>>>> moved-from objects (Revision 1)):
>>>>>>>>
>>>>>>>> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3264.htm
>>>>>>>>
>>>>>>>>> and Dave confirms that,
>>>>>>>>
>>>>>>>> I don't want to read into what Dave said too much, because he's here
>>>>>>>> and he can clarify it. But I believe what he said is that specific
>>>>>>>> algorithms, in their own localized context, practically only require
>>>>>>>> destructibility and assignability. And even then,
>>>>>
>>>>> I was disavowing this part because I don't claim to know it for sure:
>>>>>
>>>>>>>> it's not something the standard actually guarantees in general,
>>>>>>>> though, and the requirements are still much stricter, perhaps
>>>>>>>> superfluously so.
>>>>>
>>>>> and I was disavowing this part because I disagree with it:
>>>>>
>>>>>>>> it's a good selling point for having destructive move semantics -
>>>>>>>
>>>>>>> That doesn't sound like anything I meant to say, but I do agree fully
>>>>>>> with the resolutions (if not the NB comments) in the paper cited above.
>>>>>>
>>>>>> Then what did you mean?
>>>>>
>>>>> See above.
>>>>
>>>> Actually, that's not really what I asked. Joel asked you if
>>>> destructibility and assignability is all the standard library needs
>>>> from moved-from objects. You responded: "That's all the standard
>>>> library will use."
>>>
>>> Yes.
>>>
>>>> Now you seem to say the opposite.
>>>
>>> Where?
>>>
>>>> I think this was a source of confusion :-)
>>>
>>> I can imagine it would be.
>>
>> Okay, I'm truely confused about what you're saying then.
>>
>> Either the standard library requires moved-from user-types to keep
>> meeting all their requirements, or it only requires them to remain
>> destructible and assignable. The standard says the former. The wording
>> that appears in the standard is the same (or almost the same) wording
>> as the resolution of N3264, which is what you say you fought for.
>>
>> The only other way I can interpret "That's (destructibility and
>> assignability) all that srandard library will use" is "that's all it
>> will use in practice", but you say you disavow that.
> [snip]
> Could you please give a link to the post where Dave disavows that and
> give a quote of the sentence where that's made? It would save other
> readers a good bit of time searching for this since this has been
> a *long* thread.

It's been a long thread alright :-)

There's the post:
http://boost.2283326.n4.nabble.com/variant-Please-vote-for-behavior-Was-Basic-rvalue-and-C-11-features-seupport-tp4641587p4642085.html

And there's the quote:

>>>> I don't want to read into what Dave said too much, because he's here
>>>> and he can clarify it. But I believe what he said is that specific
>>>> algorithms, in their own localized context, practically only require
>>>> destructibility and assignability. And even then,
>
> I was disavowing this part because I don't claim to know it for sure:

Anyway, I'm not sure my exposition of that was very clear either.
That's why I'd like Dave to explain it in more detail (ignore what I
said you said), instead of me trying to interpret it.

--
Paul Smith

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk