220 14116 <54fa7b85-56dd-4778-8bd7-ad91c710807d@isocpp.org> article
Path: news.gmane.org!not-for-mail
From: Markus Grech <markus.grech@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Reconstruct function idea
Date: Wed, 22 Oct 2014 03:27:13 -0700 (PDT)
Lines: 148
Approved: news@gmane.org
Message-ID: <54fa7b85-56dd-4778-8bd7-ad91c710807d@isocpp.org>
References: <ff612334-ae16-43d1-a650-580d0ce635f2@isocpp.org>
 <97aba3ad-71d1-46ef-88e5-ee00137df7fb@isocpp.org> <CAOfiQqkXfdp4mfXUR0pO5YpQ=bnNPzThAEmY_+um32H2oSS9=w@mail.gmail.com>
 <CALDL7dFc5bk3BzvFRcatOVTv3Y4R_sAP8wsOJg2OY7osg3fgqA@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_5339_2026213848.1413973633846"
X-Trace: ger.gmane.org 1413973642 8703 80.91.229.3 (22 Oct 2014 10:27:22 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Wed, 22 Oct 2014 10:27:22 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBC44PYFDYAGRBAUNT2RAKGQEUQCOFDQ@isocpp.org Wed Oct 22 12:27:17 2014
Return-path: <std-proposals+bncBC44PYFDYAGRBAUNT2RAKGQEUQCOFDQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-qg0-f69.google.com ([209.85.192.69])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBC44PYFDYAGRBAUNT2RAKGQEUQCOFDQ@isocpp.org>)
	id 1Xgt8O-0000sy-1j
	for gclcip-std-proposals@m.gmane.org; Wed, 22 Oct 2014 12:27:16 +0200
Original-Received: by mail-qg0-f69.google.com with SMTP id z107sf7225174qgd.0
        for <gclcip-std-proposals@m.gmane.org>; Wed, 22 Oct 2014 03:27:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=date:from:to:message-id:in-reply-to:references:subject:mime-version
         :x-original-sender:reply-to:precedence:mailing-list:list-id
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe
         :content-type;
        bh=JjO3m9BcWWTkyRcUY0QEnUf9KUrpQzgE3oH3zw1pM2s=;
        b=RHSYaUnAGcgfWdug87gZm2JYgGmiXVhnaYVc62CNzRCdjePW+Fb4/9cdTM2lKuYhUk
         zeQ2YVx47Sf+ixsNV5hugc6e9ueVUaUjVpgO1vhgiP1q2k00JzNMGioX4NeTakGms3lU
         tAW9zk118Y7dO3pErjO/ms2jg7anygV01yXCSDQ9F5JQixDM9RuhJOA+D5cxFEXoY/J3
         5k4xm8w33FL5z3jk6Gw4FsTKp7rFn3+LdRib/UebM+5Kqae/UHIZMl5qgEnUUjMNC7Bb
         ywj+iQiSZ1iccBwD6NiK0NAmj+SZHMD1nMQZvufgMKBelGonsZGaGFgbjvnHotshl87d
         2jOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:date:from:to:message-id:in-reply-to:references
         :subject:mime-version:x-original-sender:reply-to:precedence
         :mailing-list:list-id:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe:content-type;
        bh=JjO3m9BcWWTkyRcUY0QEnUf9KUrpQzgE3oH3zw1pM2s=;
        b=KEHHVIoxljp18dyfahOjTBWhXMaFkNwugLyBHw+HN1WjQkjZFt71zcN45YQnlip8xZ
         smaXLu1RiHuEhBtp0ORIYX/m0i+ToWzaLp1OZqIxm6XZwwHRHdFPGqaWv+gqKD1OUXV6
         36bRqcBne2tgN35UwGe06DBXhjfT9E1VKS45IT82bnmrozgE0bCXeSErvD6lk3XzMiKK
         f6rwilD7HHylr6eoWvHFlfhYtn3piT1OMwqxuiuM1JXt6yF0N1eoOMPfJm8Q59GYoTcc
         9d7chiY9XkJNhuH+7ZLjr0fmGNmqLslJAcE5SHTJTfbCJE8FxpfQkTEFfcohdhIQ1/iL
         p4+A==
X-Gm-Message-State: ALoCoQn0GYECifhxv+6alzvfSpIA1izz7vytQPUHzAOWV9GHiSWolxLimmxwBBx2MeaaQBObN+ym
X-Received: by 10.236.210.108 with SMTP id t72mr13098572yho.52.1413973635289;
        Wed, 22 Oct 2014 03:27:15 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.140.105.227 with SMTP id c90ls656295qgf.52.gmail; Wed, 22 Oct
 2014 03:27:14 -0700 (PDT)
X-Received: by 10.140.85.212 with SMTP id n78mr6483qgd.21.1413973634527;
        Wed, 22 Oct 2014 03:27:14 -0700 (PDT)
In-Reply-To: <CALDL7dFc5bk3BzvFRcatOVTv3Y4R_sAP8wsOJg2OY7osg3fgqA@mail.gmail.com>
X-Original-Sender: markus.grech@gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Google-Group-Id: 399137483710
List-Post: <http://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:14116
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/14116>

------=_Part_5339_2026213848.1413973633846
Content-Type: text/plain; charset=UTF-8



On Tuesday, October 21, 2014 8:54:23 PM UTC+2, Farid Mehrabi wrote:
>
>
>
> 2014-10-16 23:46 GMT+03:30 Richard Smith <ric...@metafoo.co.uk 
> <javascript:>>:
>
>> On Wed, Oct 15, 2014 at 11:40 PM, Markus Grech <markus...@gmail.com 
>> <javascript:>> wrote:
>>
>>> I'm very surprised that nobody here knows how to write copy&swap 
>>> correctly.
>>> T& operator =(T rhs)
>>> {
>>>     swap(rhs);
>>>     return *this;
>>> }
>>>
>>
>>
>> http://stackoverflow.com/questions/7458110/c-unified-assignment-operator-move-semantics/7458222#7458222
>>
>> http://stackoverflow.com/questions/18303287/when-is-overloading-pass-by-reference-l-value-and-r-value-preferred-to-pass-by/18303787#18303787
>>
>
> what is the point in that link? why so much verbosity?
> simpler code is easier to maintain and Markus`s code generates optimal 
> code for most cases(assuming improbability of self assignment).
>
> regards,
> FM.
>
>  
> -- 
> how am I supposed to end the twisted road of  your hair in the dark night??
> unless the candle of your face does turn a lamp up on my way!!!
>
There is no possibility of self assignment, because the parameter is always 
newly constructed. 

-- 

--- 
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

------=_Part_5339_2026213848.1413973633846
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Tuesday, October 21, 2014 8:54:23 PM UTC+2, Far=
id Mehrabi wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"r=
tl"><div dir=3D"ltr"><br></div><div><div dir=3D"ltr"><br><div class=3D"gmai=
l_quote">2014-10-16 23:46 GMT+03:30 Richard Smith <span dir=3D"ltr">&lt;<a =
href=3D"javascript:" target=3D"_blank" gdf-obfuscated-mailto=3D"U8e3RKgLsPM=
J" onmousedown=3D"this.href=3D'javascript:';return true;" onclick=3D"this.h=
ref=3D'javascript:';return true;">ric...@metafoo.co.uk</a>&gt;</span>:<br><=
blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l=
eft-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;pa=
dding-left:1ex"><div><div class=3D"gmail_quote"><span>On Wed, Oct 15, 2014 =
at 11:40 PM, Markus Grech <span dir=3D"ltr">&lt;<a href=3D"javascript:" tar=
get=3D"_blank" gdf-obfuscated-mailto=3D"U8e3RKgLsPMJ" onmousedown=3D"this.h=
ref=3D'javascript:';return true;" onclick=3D"this.href=3D'javascript:';retu=
rn true;">markus...@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D=
"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;borde=
r-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><di=
v dir=3D"ltr">I'm very surprised that nobody here knows how to write copy&a=
mp;swap correctly.<div><div style=3D"border:1px solid rgb(187,187,187);word=
-wrap:break-word;background-color:rgb(250,250,250)"><code><div><font color=
=3D"#660066"><span style=3D"color:rgb(0,0,0)">T</span><span style=3D"color:=
rgb(102,102,0)">&amp;</span><span style=3D"color:rgb(0,0,0)"> </span><span =
style=3D"color:rgb(0,0,136)">operator</span><span style=3D"color:rgb(0,0,0)=
"> </span><span style=3D"color:rgb(102,102,0)">=3D(</span><span style=3D"co=
lor:rgb(0,0,0)">T rhs</span><span style=3D"color:rgb(102,102,0)">)</span><s=
pan style=3D"color:rgb(0,0,0)"><br></span><span style=3D"color:rgb(102,102,=
0)">{</span><span style=3D"color:rgb(0,0,0)"><br>&nbsp; &nbsp; swap</span><=
span style=3D"color:rgb(102,102,0)">(</span><span style=3D"color:rgb(0,0,0)=
">rhs</span><span style=3D"color:rgb(102,102,0)">);</span><span style=3D"co=
lor:rgb(0,0,0)"><br></span></font><span style=3D"color:rgb(0,0,0)"><span st=
yle=3D"color:rgb(0,0,0)">&nbsp; &nbsp; </span><span style=3D"color:rgb(0,0,=
136)">return</span><span style=3D"color:rgb(0,0,0)"> </span><span style=3D"=
color:rgb(102,102,0)">*</span><span style=3D"color:rgb(0,0,136)">this</span=
><span style=3D"color:rgb(102,102,0)">;</span></span><font color=3D"#660066=
"><span style=3D"color:rgb(0,0,0)"><br></span><span style=3D"color:rgb(102,=
102,0)">}</span></font></div></code></div></div></div></blockquote><div><br=
></div></span><div><a href=3D"http://stackoverflow.com/questions/7458110/c-=
unified-assignment-operator-move-semantics/7458222#7458222" target=3D"_blan=
k" onmousedown=3D"this.href=3D'http://www.google.com/url?q\75http%3A%2F%2Fs=
tackoverflow.com%2Fquestions%2F7458110%2Fc-unified-assignment-operator-move=
-semantics%2F7458222%237458222\46sa\75D\46sntz\0751\46usg\75AFQjCNFrJVdnOTm=
h_6aziazDLDCZOsRd1Q';return true;" onclick=3D"this.href=3D'http://www.googl=
e.com/url?q\75http%3A%2F%2Fstackoverflow.com%2Fquestions%2F7458110%2Fc-unif=
ied-assignment-operator-move-semantics%2F7458222%237458222\46sa\75D\46sntz\=
0751\46usg\75AFQjCNFrJVdnOTmh_6aziazDLDCZOsRd1Q';return true;">http://stack=
overflow.com/<wbr>questions/7458110/c-unified-<wbr>assignment-operator-move=
-<wbr>semantics/7458222#7458222</a><br></div><div><a href=3D"http://stackov=
erflow.com/questions/18303287/when-is-overloading-pass-by-reference-l-value=
-and-r-value-preferred-to-pass-by/18303787#18303787" target=3D"_blank" onmo=
usedown=3D"this.href=3D'http://www.google.com/url?q\75http%3A%2F%2Fstackove=
rflow.com%2Fquestions%2F18303287%2Fwhen-is-overloading-pass-by-reference-l-=
value-and-r-value-preferred-to-pass-by%2F18303787%2318303787\46sa\75D\46snt=
z\0751\46usg\75AFQjCNGBcPCibDDrFxL4RndxBW5P8Gpy0g';return true;" onclick=3D=
"this.href=3D'http://www.google.com/url?q\75http%3A%2F%2Fstackoverflow.com%=
2Fquestions%2F18303287%2Fwhen-is-overloading-pass-by-reference-l-value-and-=
r-value-preferred-to-pass-by%2F18303787%2318303787\46sa\75D\46sntz\0751\46u=
sg\75AFQjCNGBcPCibDDrFxL4RndxBW5P8Gpy0g';return true;">http://stackoverflow=
..com/<wbr>questions/18303287/when-is-<wbr>overloading-pass-by-reference-<wb=
r>l-value-and-r-value-preferred-<wbr>to-pass-by/18303787#18303787</a></div>=
</div></div></blockquote></div><div><div>

<p></p></div></div></div><div><br></div><div dir=3D"ltr">what is the point =
in that link? why so much verbosity?</div><div dir=3D"ltr">simpler code is =
easier to&nbsp;<span style=3D"font-family:arial,sans-serif;font-size:13px">=
maintain and&nbsp;</span>Markus`s code generates optimal code for most case=
s(assuming improbability of self assignment).</div><div dir=3D"ltr"><br></d=
iv><div dir=3D"ltr">regards,</div><div dir=3D"ltr">FM.</div><div dir=3D"ltr=
"><br></div><div dir=3D"ltr">&nbsp;</div>-- <br><div dir=3D"ltr">how am I s=
upposed to end the twisted road of&nbsp; your hair in the dark night??<br>u=
nless the candle of your face does turn a lamp up on my way!!!<br></div></d=
iv></div></blockquote><div>There is no possibility of self assignment, beca=
use the parameter is always newly constructed.&nbsp;</div></div>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

------=_Part_5339_2026213848.1413973633846--

.
