220 34296 <CAGg_6+MCgpaOxQBm1ees1bCJVWrh7=qWWkVKWZu3DmeMO6TvMA@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Nevin Liber <nevin@eviloverlord.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Idea: Extension of structured bindings to
 definition of structs
Date: Mon, 4 Sep 2017 14:04:45 -0500
Lines: 82
Approved: news@gmane.org
Message-ID: <CAGg_6+MCgpaOxQBm1ees1bCJVWrh7=qWWkVKWZu3DmeMO6TvMA@mail.gmail.com>
References: <59dcbbbc-c536-4b7b-9c88-0638fb0cd58a@technion.ac.il>
 <7b9bf263-d3ca-42bf-aed6-4c7606782a28@isocpp.org> <1762295.OciJaA9sdk@tjmaciei-mobl1>
 <ff2ceb41-caca-4659-9a7d-4da9c2046810@isocpp.org> <74349bfe-bb5a-a2ce-4142-5d46103d1d9f@technion.ac.il>
 <CAGg_6+MPQTnqdWLQ1UV8jF173jDXYQQx-abwwNV3v3iknocJ=Q@mail.gmail.com> <f9ccebb4-6704-167c-5f1e-b0f58794a15d@technion.ac.il>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="f403045e373a18ace5055861cba2"
X-Trace: blaine.gmane.org 1504551959 4658 195.159.176.226 (4 Sep 2017 19:05:59 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Mon, 4 Sep 2017 19:05:59 +0000 (UTC)
Cc: "std-proposals@isocpp.org" <std-proposals@isocpp.org>
To: Eyal Rozenberg <eyalroz@technion.ac.il>
Original-X-From: std-proposals+bncBCE35H5S6IDBB56HW3GQKGQEOHPUJNI@isocpp.org Mon Sep 04 21:05:38 2017
Return-path: <std-proposals+bncBCE35H5S6IDBB56HW3GQKGQEOHPUJNI@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yw0-f197.google.com ([209.85.161.197])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCE35H5S6IDBB56HW3GQKGQEOHPUJNI@isocpp.org>)
	id 1dowgU-0007yL-MY
	for gclcip-std-proposals@m.gmane.org; Mon, 04 Sep 2017 21:05:22 +0200
Original-Received: by mail-yw0-f197.google.com with SMTP id c191sf3590676ywb.8
        for <gclcip-std-proposals@m.gmane.org>; Mon, 04 Sep 2017 12:05:28 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1504551928; cv=pass;
        d=google.com; s=arc-20160816;
        b=afBp82e8zNE0lBz44A1ubTrdleeYKemc8zScS4gy0TzAHMDiTdW3w5XLVMcdd/7I8l
         5oNd0o3ccLcn4KkM6UHa6f640qokuTh6YgP3SKW73i9R3U3jBaaLBCxv+heh5ncE1Dvf
         aadxYJxQ57L19PbxpBWnyhY3NJqrvyx7BWZWZ2P0SvEuzqaZOdbHqBptFw4ME/yusah6
         wJZE3P5CCMNiuntfLU8KEOCYh1FH4cwBBocnoiKuV0pZOC+1C+Fj+8evVj9v6gXH+hz0
         a2GwzFfONcOU4XiCre85lpDnT/Ha+/A3+HhHsT89eX7RO2+XNS/GpDUJVtFKHy8SxqpI
         p5rQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:reply-to:cc:to:subject:message-id
         :date:from:references:in-reply-to:sender:mime-version
         :arc-authentication-results:arc-message-signature
         :arc-authentication-results;
        bh=PrqCa1slxmoNbsF2A0IGUkhpMB8zUGwIknR2k4/sJA0=;
        b=aSLtZwaqEx0riEIdCGZkaDS7g2j6/eiyN0bNnFk0tj1Z5c20n1F/zdGrvLbdNAvEBX
         oviWjZ33RQKCqxv1FGgMs32cX5P4yWKZQGBsCRm6vcGyxm57OKy3fpoZTiksQEXN1cQX
         K7wQiVAVC3HTihhlK+TWH21cgoDypvFFH3bHm0+SvWi6ylHMaQfoNY79r22vBlCL5Awi
         VPhLEGY4N5TdJT/2UU4Hg9pDBQCvvDQujcEAutfkDYKlY4gvD/EahmzUpKRYnP7bIOSx
         7pl8hyVX78DbMp1USoPPljd1yejjNvEcX4WCDhep04vSvSDgGZ1ln/xg/y9rK+Yp93rq
         xu3A==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=eoTRNgEM;
       spf=pass (google.com: domain of nliber@gmail.com designates 2607:f8b0:400e:c00::232 as permitted sender) smtp.mailfrom=nliber@gmail.com
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:sender:in-reply-to:references:from
         :date:message-id:subject:to:cc:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=PrqCa1slxmoNbsF2A0IGUkhpMB8zUGwIknR2k4/sJA0=;
        b=AusDCansy2DwSuOblbZgr7EPLdL2YzNH2sDmFrVpjtGsLqPEaIrkNpBHAd2KKhd1KP
         vzcsULchuH4jvqLIO/2hmyHLyIU8TTVI13vs9xLstFgKudFEYMyH9P3yM1xCrZbBjYS4
         dS4a14D8kS5AS6ogsn3WoAPpzJRUm11xlPSbPcoatfgGiHHph1s3PGDQkmH7THt96MXw
         MBRn3pDD4tjGUDBxNf4IKpP3IVNumrXUDQ53gQ/dvfrdnzQP7JxdYPPNdRNqSbg/mPG7
         hYbWMPyIyOOrAaL6bZBZyHZ3pm7DTHFWb716WoAIogs5fEDFFk70J6XCUHTq4dk4nuqU
         xpig==
X-Gm-Message-State: AHPjjUiuhciYlqXic2aXyPO8G4a+jSPgj43rys8vrb+Q7c+jWVI80YYi
	0Ur2y1IKHzbKEg==
X-Google-Smtp-Source: ADKCNb4IolfkPEQIoaGiAm3OG2BZTx3yRMjjIfbpvtn3RIh1nEFNTBPCvVlleO7pvOg+QvZSjjiasw==
X-Received: by 10.129.93.132 with SMTP id r126mr928284ywb.219.1504551928427;
        Mon, 04 Sep 2017 12:05:28 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.107.20.20 with SMTP id 20ls656358iou.3.gmail; Mon, 04 Sep 2017
 12:05:27 -0700 (PDT)
X-Received: by 10.84.238.202 with SMTP id l10mr1606165pln.115.1504551927144;
        Mon, 04 Sep 2017 12:05:27 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1504551927; cv=none;
        d=google.com; s=arc-20160816;
        b=swTgHKlnv9r0pm3mgw1Rd8JfjesoKDu7i2BMLcxS0xjuOYv872WOfWNhvULc5TD7r4
         A6lDx4lcBzzB3earLkrkVVpQ+mAmZTn8GKn2u0wpeGrJoDydTQzA8gNdyOTuI2dVD4cO
         kO3WUJZn7FWUPHOjAgQOYfUkZn7DEL+f/MjcWYNk5sugri/2xBwWLjFuGXgVL6l0u/Ub
         wY6/Gg2Jt8LFSrFXByjN6NVtXSCArCaVSRtVmQeqDEptRHIqk370U5gCsgAwPCnjmZ4S
         NGhPIMw7yoFRJrH9fPeQA5mRyQGMWY2thu+rRnQNyF/iz2krpy80PPEsG30v8FiqZmw4
         SiDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=cc:to:subject:message-id:date:from:references:in-reply-to:sender
         :mime-version:dkim-signature:arc-authentication-results;
        bh=zPgkDD4BYChDMHbDg7ldcAJiOd9H7KA/3R5LyQPldZM=;
        b=01nNqTHDK2TqT87oFpL9iBL+jcgQtoEY8pD+vhCSMaVhwAObqbdKvvrfSM83oNH1cX
         SJi7gEoU++BraLYmVSbByaGhVDkuf26nkKtQbSyqrv0bUQ4sbjDU7F2d8WnjTWvWYRAH
         Bms7CLZLq9LoMEz/KkQFO5GBjvIRfm0vNA0CbN4Q7RRpEbhs3ywUgYJhnv3kQHyYZkmz
         8fOZ2xk8LR7N/u44EbLpMwGWwMhlquYlDyPRuOoVENYcmBbyW1edv3JU4cS/r+0fzkL1
         Q9JQYWJpBovvPlK6B/ywkCC4eGoq8Qz+T8tvrk96x8qHJbC0BS9ATW4ufDsXoOHc8h49
         /yXg==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=eoTRNgEM;
       spf=pass (google.com: domain of nliber@gmail.com designates 2607:f8b0:400e:c00::232 as permitted sender) smtp.mailfrom=nliber@gmail.com
Original-Received: from mail-pf0-x232.google.com (mail-pf0-x232.google.com. [2607:f8b0:400e:c00::232])
        by mx.google.com with ESMTPS id g1si5931874pln.738.2017.09.04.12.05.27
        for <std-proposals@isocpp.org>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Mon, 04 Sep 2017 12:05:27 -0700 (PDT)
Received-SPF: pass (google.com: domain of nliber@gmail.com designates 2607:f8b0:400e:c00::232 as permitted sender) client-ip=2607:f8b0:400e:c00::232;
Original-Received: by mail-pf0-x232.google.com with SMTP id e199so2612377pfh.3
        for <std-proposals@isocpp.org>; Mon, 04 Sep 2017 12:05:27 -0700 (PDT)
X-Received: by 10.99.151.2 with SMTP id n2mr1433586pge.452.1504551926015; Mon,
 04 Sep 2017 12:05:26 -0700 (PDT)
Original-Sender: nliber@gmail.com
Original-Received: by 10.100.133.80 with HTTP; Mon, 4 Sep 2017 12:04:45 -0700 (PDT)
In-Reply-To: <f9ccebb4-6704-167c-5f1e-b0f58794a15d@technion.ac.il>
X-Original-Sender: nevin@eviloverlord.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com header.s=20161025 header.b=eoTRNgEM;       spf=pass
 (google.com: domain of nliber@gmail.com designates 2607:f8b0:400e:c00::232 as
 permitted sender) smtp.mailfrom=nliber@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: <https://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <https://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <https://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <https://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>,
 <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:34296
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/34296>

--f403045e373a18ace5055861cba2
Content-Type: text/plain; charset="UTF-8"

On Mon, Sep 4, 2017 at 9:16 AM, Eyal Rozenberg <eyalroz@technion.ac.il>
wrote:

> I'm not actually suggesting a new way to create a type. The type is
> created anyway if I write:
>
>   struct {
>       decltype(std::get<0>(get_car_parts())) engine;
>       decltype(std::get<0>(get_car_parts())) dashboard;
>       decltype(std::get<0>(get_car_parts())) stickshift;
>   } car_parts = get_car_parts();
>

Syntactic sugar or not, what can you do with an object of that type?  You
can either:

   - Pass it to a templated function
   - Capture it in a lambda

As I stated before, that usage seems fairly marginal and not worth a
language feature.
-- 
 Nevin ":-)" Liber  <mailto:nevin@eviloverlord.com>  +1-847-691-1404

-- 
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.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAGg_6%2BMCgpaOxQBm1ees1bCJVWrh7%3DqWWkVKWZu3DmeMO6TvMA%40mail.gmail.com.

--f403045e373a18ace5055861cba2
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">On Mon, Sep 4, 2017 at 9:16 AM, Eyal Rozenberg <span dir=
=3D"ltr">&lt;<a href=3D"mailto:eyalroz@technion.ac.il" target=3D"_blank">ey=
alroz@technion.ac.il</a>&gt;</span> wrote:<br><div class=3D"gmail_extra"><d=
iv class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:=
0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I&#39;m not actuall=
y suggesting a new way to create a type. The type is created anyway if I wr=
ite:<br>
<br>
=C2=A0 struct {<br>
=C2=A0 =C2=A0 =C2=A0 decltype(std::get&lt;0&gt;(get_car_p<wbr>arts())) engi=
ne;<br>
=C2=A0 =C2=A0 =C2=A0 decltype(std::get&lt;0&gt;(get_car_p<wbr>arts())) dash=
board;<br>
=C2=A0 =C2=A0 =C2=A0 decltype(std::get&lt;0&gt;(get_car_p<wbr>arts())) stic=
kshift;<br>
=C2=A0 } car_parts =3D get_car_parts();<br></blockquote><div><br></div><div=
>Syntactic sugar or not, what can you do with an object of that type?=C2=A0=
 You can either:</div><div><ul><li>Pass it to a templated function</li><li>=
Capture it in a lambda</li></ul><div>As I stated before, that usage seems f=
airly marginal and not worth a language feature.</div></div></div>-- <br><d=
iv class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D=
"ltr"><div><div dir=3D"ltr"><div>=C2=A0Nevin &quot;:-)&quot; Liber=C2=A0 &l=
t;mailto:<a href=3D"mailto:nevin@eviloverlord.com" target=3D"_blank">nevin@=
eviloverlord.com</a>&gt; =C2=A0+1-847-691-1404</div></div></div></div></div=
>
</div></div>

<p></p>

-- <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 />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAGg_6%2BMCgpaOxQBm1ees1bCJVWrh7%3DqW=
WkVKWZu3DmeMO6TvMA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAGg_6%2BMCgp=
aOxQBm1ees1bCJVWrh7%3DqWWkVKWZu3DmeMO6TvMA%40mail.gmail.com</a>.<br />

--f403045e373a18ace5055861cba2--

.
