220 18356 <1603866.meDQjFxuP6@tjmaciei-mobl4> article
Path: news.gmane.org!not-for-mail
From: Thiago Macieira <thiago@macieira.org>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Core Language feature: Multiple assignments
 from multiple return values via tuple
Date: Tue, 02 Jun 2015 13:27:50 -0700
Lines: 28
Approved: news@gmane.org
Message-ID: <1603866.meDQjFxuP6@tjmaciei-mobl4>
References: <69a59613-6504-466a-9878-786653d6087f@isocpp.org> <6F892DDD-D1C2-446F-84E6-A2B81D096B2B@gmail.com> <9f3a42b5-befc-42e9-b739-654675eb4e02@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-Trace: ger.gmane.org 1433276892 3965 80.91.229.3 (2 Jun 2015 20:28:12 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Tue, 2 Jun 2015 20:28:12 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCB4TK757YBRBSNDXCVQKGQEBESMHEQ@isocpp.org Tue Jun 02 22:28:01 2015
Return-path: <std-proposals+bncBCB4TK757YBRBSNDXCVQKGQEBESMHEQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-lb0-f200.google.com ([209.85.217.200])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCB4TK757YBRBSNDXCVQKGQEBESMHEQ@isocpp.org>)
	id 1Yzsmx-0006R4-DI
	for gclcip-std-proposals@m.gmane.org; Tue, 02 Jun 2015 22:27:55 +0200
Original-Received: by lbbti3 with SMTP id ti3sf44709794lbb.1
        for <gclcip-std-proposals@m.gmane.org>; Tue, 02 Jun 2015 13:27:54 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:from:to:subject:date:message-id:user-agent
         :in-reply-to:references:mime-version:content-type:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:list-post:list-help:list-archive:list-subscribe
         :list-unsubscribe;
        bh=ZcJPI+XckbBg4gFuCg3jvvnJG/vagx/tpN5yT5IiUEw=;
        b=ZnlrqIZKOE0vsj/bKcoK6JwCKqT3yb4i61UPdNxfS6+xo86wK95853dMEsKZqv4Blw
         z5SHTap73WIqgFykVDfHZxOSCvt4DIK+rfmSjwcAtgGfa5J2oeQUSnSirRq1H7nSgnKS
         EqbggkJHqmuH02wilB4c1bBKjggABSzhhhfXxb+q0J7TnQgR9Rh9NUaY/l6bTIFaMbvq
         gicnpze+WaKgGvKuv1rxLzbjO0RpFURmSARwXCZGUywFjk6sKnMLBLohBXCh30NMe3Lj
         AzHjnaTiMhZk9lHl7OlCutg+sR7CdY+zXzZgwKiC+aTBk6EvwTA1sHUqAzTncqar/HLJ
         nXrQ==
X-Gm-Message-State: ALoCoQnorRjr/eWaRiXqnSGUJpIMUHtZwmu8aonWM+js1qmgEXx39w1ZGj/NaF3Cd+JZhj/YYGdN
X-Received: by 10.180.198.172 with SMTP id jd12mr12827810wic.5.1433276874790;
        Tue, 02 Jun 2015 13:27:54 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.180.89.99 with SMTP id bn3ls212864wib.35.gmail; Tue, 02 Jun
 2015 13:27:53 -0700 (PDT)
X-Received: by 10.194.61.50 with SMTP id m18mr54846123wjr.135.1433276872961;
        Tue, 02 Jun 2015 13:27:52 -0700 (PDT)
Original-Received: from gondolin.macieira.info (gondolin.macieira.info. [2a01:4f8:d13:f81:21c:14ff:fe01:12a3])
        by mx.google.com with ESMTP id pz10si32571956wjc.109.2015.06.02.13.27.52
        for <std-proposals@isocpp.org>;
        Tue, 02 Jun 2015 13:27:52 -0700 (PDT)
Received-SPF: pass (google.com: domain of thiago@macieira.org designates 2a01:4f8:d13:f81:21c:14ff:fe01:12a3 as permitted sender) client-ip=2a01:4f8:d13:f81:21c:14ff:fe01:12a3;
Original-Received: from tjmaciei-mobl4.localnet (jfdmzpr03-ext.jf.intel.com [134.134.139.72])
	by gondolin.macieira.info (Postfix) with ESMTPSA id 647E711B740
	for <std-proposals@isocpp.org>; Tue,  2 Jun 2015 13:27:52 -0700 (PDT)
User-Agent: KMail/4.14.6 (Linux/4.0.4-1-desktop; KDE/4.14.6; x86_64; ; )
In-Reply-To: <9f3a42b5-befc-42e9-b739-654675eb4e02@isocpp.org>
X-Original-Sender: thiago@macieira.org
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of thiago@macieira.org designates 2a01:4f8:d13:f81:21c:14ff:fe01:12a3
 as permitted sender) smtp.mail=thiago@macieira.org
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:18356
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/18356>

On Tuesday 02 June 2015 11:46:48 Nicol Bolas wrote:
> Except that there's plenty of elision of potential for user-defined types. 
> Indeed, modern C++ syntax is designed around the assumption that elision 
> exists and will make code as fast as possible. Every time you see someone 
> write `T t = stuff();` instead of an explicit `stuff(&t, );`, you are 
> implicitly relying on elision to make this fast.
> 
> Why should MRVs undo this syntactic progress?

In fact, our investigation showed that compilers optimise inline functions 
with multiple return values (structs, pairs, tuples) better than those with 
output parameters.

For an example, see https://codereview.qt-project.org/106089.
-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

-- 

--- 
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/.

.
