220 33518 <f8c908e2-d06f-4cd1-bda0-fe2b97fd21f1@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: costelnistor12@gmail.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: A more advanced switch
Date: Tue, 1 Aug 2017 14:24:04 -0700 (PDT)
Lines: 266
Approved: news@gmane.org
Message-ID: <f8c908e2-d06f-4cd1-bda0-fe2b97fd21f1@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_5435_1704948266.1501622644132"
X-Trace: blaine.gmane.org 1501622649 23575 195.159.176.226 (1 Aug 2017 21:24:09 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Tue, 1 Aug 2017 21:24:09 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCGIBI4KUYIRB5HCQPGAKGQERCOTH2I@isocpp.org Tue Aug 01 23:24:04 2017
Return-path: <std-proposals+bncBCGIBI4KUYIRB5HCQPGAKGQERCOTH2I@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-qk0-f197.google.com ([209.85.220.197])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCGIBI4KUYIRB5HCQPGAKGQERCOTH2I@isocpp.org>)
	id 1dcee0-0005dt-Ma
	for gclcip-std-proposals@m.gmane.org; Tue, 01 Aug 2017 23:24:00 +0200
Original-Received: by mail-qk0-f197.google.com with SMTP id i143sf13365004qke.14
        for <gclcip-std-proposals@m.gmane.org>; Tue, 01 Aug 2017 14:24:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=date:from:to:message-id:subject:mime-version:x-original-sender
         :reply-to:precedence:mailing-list:list-id:list-post:list-help
         :list-archive:list-subscribe:list-unsubscribe;
        bh=Mc3Tg+ZYkF9kq3DW+98U+hJzF5pATcCUYvGNvBxDOrk=;
        b=m4pgXGUGJfCttGzW29OlkKbJ0Q6zuVSxtDDG8SiXpbv+AR5aecbsgdPpunlrP7yw2A
         RTAk2NTgPq7TU9S0gvWCDPk/VXRpccTDtTos+cOZSTshP3W8dHyCEfD1OvJsEpTZLFna
         9BDkeshOoNw+QcokbFEscJRFrvbIldjHO8cLIiKYiamrjbU3ZdaPeb1NbBLA7s/FF5PW
         gpnu4GBfdk2LfGyDyiV8azL49M62RLXjA0SgJntNtwxv3i2Fx84Lggi/MV5bwa5M4iJr
         +/s5/f7Y0b/2E5HVdGTPxSYIU2cTzol9h5d111fH8JYFGSOXJLZI5DqfyVe0LKBX9jFB
         Ox9Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=date:from:to:message-id:subject:mime-version:x-original-sender
         :reply-to:precedence:mailing-list:list-id:list-post:list-help
         :list-archive:list-subscribe:list-unsubscribe;
        bh=Mc3Tg+ZYkF9kq3DW+98U+hJzF5pATcCUYvGNvBxDOrk=;
        b=PSbwMKPqfNIvNme7/O8T6O2OcyU3Kh3gjf0i0ARrr+aE0TH6Tt+eF6aRDIzM7t3dge
         disSw7bTy2vyjF7cTVKX0HYDciC+pXII4J1ycjbIIAY6pDdtqSn2AaYi6G1H+wyvqCaF
         4Gw9S02yFTEU8DKnHS3ArJPFrLCeAfIvWJhlmiwxG8sKHJUytQy9Ka8oRvy12qK14m5j
         d8SJ4lxUuI5BLEQoZ7+s1HJjmYkhZ7OwW1FoyVLbTmfg9dg/7QO5nbvz5/ClfS2I07ce
         +NAG50MeFeBpnlbXU9Eo4PflrBY7f1zbTXzcovihYXMjLqT6yZpVmq4Dl0Y/KGfi3gXn
         AzeQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:message-id:subject:mime-version
         :x-original-sender:reply-to:precedence:mailing-list:list-id
         :x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=Mc3Tg+ZYkF9kq3DW+98U+hJzF5pATcCUYvGNvBxDOrk=;
        b=MMvEZaI/vmmCNXq/AxyFKnwKvX8zrW0M6Lx73jSCBh88DXAiAVi6DrYLd4VTVRNKm4
         CRzOED0ONWa9e1EcLae7xtk1ODRxzVVXSOlKnnXJ9btl/SQiQGioO+Oo9MDKDkij/N/Y
         hSDEQ5XL7vyft1wVxU36cOJsMJxgr/yc7+Z6VHWKHE5VhFu8fGuFekVPihLtLt+1DMsx
         Ri08hJ2ztmE5mw3mjUblPb4jloH0c9lo7qQCHR5BdHVcHx94xD6jC+pshgMm3sYFyi1v
         4ycaegyAnbxogVEh6su1qLj5C8Goehuj8FWCGFPr5drTWYMjIgLS396aNP2VKW0Fiaga
         sEOQ==
X-Gm-Message-State: AIVw110TDPfX5Fdnsticwp2lkPuO9jpBiCmBPpB7bSXTkli6m011Ulqz
	l5EdlRo3Fl+n1rWV
X-Received: by 10.237.57.229 with SMTP id m92mr14749533qte.29.1501622646189;
        Tue, 01 Aug 2017 14:24:06 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.36.71.85 with SMTP id t82ls1072576itb.1.gmail; Tue, 01 Aug
 2017 14:24:04 -0700 (PDT)
X-Received: by 10.31.191.67 with SMTP id p64mr33380vkf.4.1501622644668;
        Tue, 01 Aug 2017 14:24:04 -0700 (PDT)
X-Original-Sender: costelnistor12@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:33518
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/33518>

------=_Part_5435_1704948266.1501622644132
Content-Type: multipart/alternative; 
	boundary="----=_Part_5436_466158694.1501622644133"

------=_Part_5436_466158694.1501622644133
Content-Type: text/plain; charset="UTF-8"

Hello, I'm sorry if you talked about this here before, but I didn't watch 
this group and I couldn't find this thing when searching.

I'm coming from another language named Pawn, it looks like C ~80%, but it 
has more advantages than C. Here's the official 
page: https://www.compuphase.com/pawn/pawn.htm .

A problem in C++: "switch" is exactly like in C, I think it deserves an 
upgrade, as it can be used a lot, providing more speed and easier syntax 
than lots of "if" ... "else if" ... "else" lines. I know that simply 
updating it would break compatibility, so it may require another name 
instead of switch, or you can find any other backwards compatible 
alternative. I bet you can do this perfectly.

For cases 0, 1, 2, 3, 4 and 5, 6 and "default" in C++ we have to do it like
switch( variable )
{
    case 0: case 1: case 2: case 3: case 4:
    {
        // ...
        break;
    }

    case 5: case 6:
    {
        // ...
        break;
    }

    default:
    {
        // ...
    }
}

We have to use "case" for every, well, case when specifying a sequence, 
because it uses fallthrough. We have to use "break" to avoid that. I find 
this bad. Because of the necessity of using "break" we can't just "break" 
out of a loop if the switch is inside a loop. Also, if there are 
consecutive cases we have to specify each one of them. Additionally, we 
could also forget breaking. This "switch" isn't safe and is pretty old.

In Pawn we can do it a lot better:
switch( variable )
{
    case 0 .. 4:
    {
        // ...
    }

    case 5, 6:
    {
        // ...
    }

    default:
    {
        // ...
    }
}

1. There's no need for break, there's no fallthrough. Advantage: we can 
easily "continue" and "break" loops from inside the "switch".
2. We can use ".." if using several cases that are consecutive in the same 
block of code, to specify an interval.

I know that it's hard to have features accepted in such a popular standard, 
but upgrading switch is something that should really be considered ! 
C++17's [[fallthrough]] attribute is just as complicated as the "switch". 
It needs to be added everywhere or else we would get warnings (AFAIK).

C++ needs a lot more syntactic sugar. Small and nice things are making the 
language more likeable. I think that you should watch other languages too 
for interesting small features.

-- 
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/f8c908e2-d06f-4cd1-bda0-fe2b97fd21f1%40isocpp.org.

------=_Part_5436_466158694.1501622644133
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello, I&#39;m sorry if you talked about this here before,=
 but I didn&#39;t watch this group and I couldn&#39;t find this thing when =
searching.<div><br></div><div>I&#39;m coming from another language named Pa=
wn, it looks like C ~80%, but it has more advantages than C. Here&#39;s the=
 official page:=C2=A0https://www.compuphase.com/pawn/pawn.htm .</div><div><=
br></div><div>A problem in C++: &quot;switch&quot; is exactly like in C, I =
think it deserves an upgrade, as it can be used a lot, providing more speed=
 and easier syntax than lots of &quot;if&quot; ... &quot;else if&quot; ... =
&quot;else&quot; lines. I know that simply updating it would break compatib=
ility, so it may require another name instead of switch, or you can find an=
y other backwards compatible alternative. I bet you can do this perfectly.<=
div><br></div><div>For cases 0, 1, 2, 3, 4 and 5, 6 and &quot;default&quot;=
 in C++ we have to do it like</div><div class=3D"prettyprint" style=3D"back=
ground-color: rgb(250, 250, 250); border-color: rgb(187, 187, 187); border-=
style: solid; border-width: 1px; word-wrap: break-word;"><code class=3D"pre=
ttyprint"><div class=3D"subprettyprint"><span style=3D"color: #008;" class=
=3D"styled-by-prettify">switch</span><span style=3D"color: #660;" class=3D"=
styled-by-prettify">(</span><span style=3D"color: #000;" class=3D"styled-by=
-prettify"> variable </span><span style=3D"color: #660;" class=3D"styled-by=
-prettify">)</span><span style=3D"color: #000;" class=3D"styled-by-prettify=
"><br></span><span style=3D"color: #660;" class=3D"styled-by-prettify">{</s=
pan><span style=3D"color: #000;" class=3D"styled-by-prettify"><br>=C2=A0 =
=C2=A0 </span><span style=3D"color: #008;" class=3D"styled-by-prettify">cas=
e</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><=
span style=3D"color: #066;" class=3D"styled-by-prettify">0</span><span styl=
e=3D"color: #660;" class=3D"styled-by-prettify">:</span><span style=3D"colo=
r: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #008;"=
 class=3D"styled-by-prettify">case</span><span style=3D"color: #000;" class=
=3D"styled-by-prettify"> </span><span style=3D"color: #066;" class=3D"style=
d-by-prettify">1</span><span style=3D"color: #660;" class=3D"styled-by-pret=
tify">:</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </=
span><span style=3D"color: #008;" class=3D"styled-by-prettify">case</span><=
span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span styl=
e=3D"color: #066;" class=3D"styled-by-prettify">2</span><span style=3D"colo=
r: #660;" class=3D"styled-by-prettify">:</span><span style=3D"color: #000;"=
 class=3D"styled-by-prettify"> </span><span style=3D"color: #008;" class=3D=
"styled-by-prettify">case</span><span style=3D"color: #000;" class=3D"style=
d-by-prettify"> </span><span style=3D"color: #066;" class=3D"styled-by-pret=
tify">3</span><span style=3D"color: #660;" class=3D"styled-by-prettify">:</=
span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><spa=
n style=3D"color: #008;" class=3D"styled-by-prettify">case</span><span styl=
e=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"colo=
r: #066;" class=3D"styled-by-prettify">4</span><span style=3D"color: #660;"=
 class=3D"styled-by-prettify">:</span><span style=3D"color: #000;" class=3D=
"styled-by-prettify"><br>=C2=A0 =C2=A0 </span><span style=3D"color: #660;" =
class=3D"styled-by-prettify">{</span><span style=3D"color: #000;" class=3D"=
styled-by-prettify"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 </span><span style=3D"c=
olor: #800;" class=3D"styled-by-prettify">// ...</span><span style=3D"color=
: #000;" class=3D"styled-by-prettify"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 </spa=
n><span style=3D"color: #008;" class=3D"styled-by-prettify">break</span><sp=
an style=3D"color: #660;" class=3D"styled-by-prettify">;</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"><br>=C2=A0 =C2=A0 </span><sp=
an style=3D"color: #660;" class=3D"styled-by-prettify">}</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"><br><br>=C2=A0 =C2=A0 </span=
><span style=3D"color: #008;" class=3D"styled-by-prettify">case</span><span=
 style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D=
"color: #066;" class=3D"styled-by-prettify">5</span><span style=3D"color: #=
660;" class=3D"styled-by-prettify">:</span><span style=3D"color: #000;" cla=
ss=3D"styled-by-prettify"> </span><span style=3D"color: #008;" class=3D"sty=
led-by-prettify">case</span><span style=3D"color: #000;" class=3D"styled-by=
-prettify"> </span><span style=3D"color: #066;" class=3D"styled-by-prettify=
">6</span><span style=3D"color: #660;" class=3D"styled-by-prettify">:</span=
><span style=3D"color: #000;" class=3D"styled-by-prettify"><br>=C2=A0 =C2=
=A0 </span><span style=3D"color: #660;" class=3D"styled-by-prettify">{</spa=
n><span style=3D"color: #000;" class=3D"styled-by-prettify"><br>=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 </span><span style=3D"color: #800;" class=3D"styled-by-pr=
ettify">// ...</span><span style=3D"color: #000;" class=3D"styled-by-pretti=
fy"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 </span><span style=3D"color: #008;" cla=
ss=3D"styled-by-prettify">break</span><span style=3D"color: #660;" class=3D=
"styled-by-prettify">;</span><span style=3D"color: #000;" class=3D"styled-b=
y-prettify"><br>=C2=A0 =C2=A0 </span><span style=3D"color: #660;" class=3D"=
styled-by-prettify">}</span><span style=3D"color: #000;" class=3D"styled-by=
-prettify"><br><br>=C2=A0 =C2=A0 </span><span style=3D"color: #008;" class=
=3D"styled-by-prettify">default</span><span style=3D"color: #660;" class=3D=
"styled-by-prettify">:</span><span style=3D"color: #000;" class=3D"styled-b=
y-prettify"><br>=C2=A0 =C2=A0 </span><span style=3D"color: #660;" class=3D"=
styled-by-prettify">{</span><span style=3D"color: #000;" class=3D"styled-by=
-prettify"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 </span><span style=3D"color: #80=
0;" class=3D"styled-by-prettify">// ...</span><span style=3D"color: #000;" =
class=3D"styled-by-prettify"><br>=C2=A0 =C2=A0 </span><span style=3D"color:=
 #660;" class=3D"styled-by-prettify">}</span><span style=3D"color: #000;" c=
lass=3D"styled-by-prettify"><br></span><span style=3D"color: #660;" class=
=3D"styled-by-prettify">}</span></div></code></div><div><br></div><div>We h=
ave to use &quot;case&quot; for every, well, case when specifying a sequenc=
e, because it uses fallthrough. We have to use &quot;break&quot; to avoid t=
hat. I find this bad. Because of the necessity of using &quot;break&quot; w=
e can&#39;t just &quot;break&quot; out of a loop if the switch is inside a =
loop. Also, if there are consecutive cases we have to specify each one of t=
hem. Additionally, we could also forget breaking. This &quot;switch&quot; i=
sn&#39;t safe and is pretty old.</div><div><br></div><div>In Pawn we can do=
 it a lot better:</div><div><div class=3D"prettyprint" style=3D"background-=
color: rgb(250, 250, 250); border-color: rgb(187, 187, 187); border-style: =
solid; border-width: 1px; word-wrap: break-word;"><code class=3D"prettyprin=
t"><div class=3D"subprettyprint"><span style=3D"color: #008;" class=3D"styl=
ed-by-prettify">switch</span><span style=3D"color: #660;" class=3D"styled-b=
y-prettify">(</span><span style=3D"color: #000;" class=3D"styled-by-prettif=
y"> variable </span><span style=3D"color: #660;" class=3D"styled-by-prettif=
y">)</span><span style=3D"color: #000;" class=3D"styled-by-prettify"><br></=
span><span style=3D"color: #660;" class=3D"styled-by-prettify">{</span><spa=
n style=3D"color: #000;" class=3D"styled-by-prettify"><br>=C2=A0 =C2=A0 </s=
pan><span style=3D"color: #008;" class=3D"styled-by-prettify">case</span><s=
pan style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=
=3D"color: #066;" class=3D"styled-by-prettify">0</span><font color=3D"#6666=
00"><span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span=
 style=3D"color: #660;" class=3D"styled-by-prettify">..</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"> </span></font><span style=
=3D"color: #066;" class=3D"styled-by-prettify">4</span><span style=3D"color=
: #660;" class=3D"styled-by-prettify">:</span><span style=3D"color: #000;" =
class=3D"styled-by-prettify"><br>=C2=A0 =C2=A0 </span><span style=3D"color:=
 #660;" class=3D"styled-by-prettify">{</span><span style=3D"color: #000;" c=
lass=3D"styled-by-prettify"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 </span><span st=
yle=3D"color: #800;" class=3D"styled-by-prettify">// ...</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"><br>=C2=A0 =C2=A0 </span><sp=
an style=3D"color: #660;" class=3D"styled-by-prettify">}</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"><br><br>=C2=A0 =C2=A0 </span=
><span style=3D"color: #008;" class=3D"styled-by-prettify">case</span><span=
 style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D=
"color: #066;" class=3D"styled-by-prettify">5</span><font color=3D"#666600"=
><span style=3D"color: #660;" class=3D"styled-by-prettify">,</span><span st=
yle=3D"color: #000;" class=3D"styled-by-prettify"> </span></font><span styl=
e=3D"color: #066;" class=3D"styled-by-prettify">6</span><span style=3D"colo=
r: #660;" class=3D"styled-by-prettify">:</span><span style=3D"color: #000;"=
 class=3D"styled-by-prettify"><br>=C2=A0 =C2=A0 </span><span style=3D"color=
: #660;" class=3D"styled-by-prettify">{</span><span style=3D"color: #000;" =
class=3D"styled-by-prettify"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 </span><span s=
tyle=3D"color: #800;" class=3D"styled-by-prettify">// ...</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"><br>=C2=A0 =C2=A0 </span><sp=
an style=3D"color: #660;" class=3D"styled-by-prettify">}</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"><br><br>=C2=A0 =C2=A0 </span=
><span style=3D"color: #008;" class=3D"styled-by-prettify">default</span><s=
pan style=3D"color: #660;" class=3D"styled-by-prettify">:</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"><br>=C2=A0 =C2=A0 </span><sp=
an style=3D"color: #660;" class=3D"styled-by-prettify">{</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"><br>=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 </span><span style=3D"color: #800;" class=3D"styled-by-prettify">// ...=
</span><span style=3D"color: #000;" class=3D"styled-by-prettify"><br>=C2=A0=
 =C2=A0 </span><span style=3D"color: #660;" class=3D"styled-by-prettify">}<=
/span><span style=3D"color: #000;" class=3D"styled-by-prettify"><br></span>=
<span style=3D"color: #660;" class=3D"styled-by-prettify">}</span></div></c=
ode></div><span class=3D"styled-by-prettify" style=3D"font-family: monospac=
e; background-color: rgb(250, 250, 250); color: rgb(102, 102, 0);"><br></sp=
an>1. There&#39;s no need for break, there&#39;s no fallthrough. Advantage:=
 we can easily &quot;continue&quot; and &quot;break&quot; loops from inside=
 the &quot;switch&quot;.</div><div>2. We can use &quot;..&quot; if using se=
veral cases that are consecutive in the same block of code, to specify an i=
nterval.</div><div><br></div><div>I know that it&#39;s hard to have feature=
s accepted in such a popular standard, but upgrading switch is something th=
at should really be considered ! C++17&#39;s [[fallthrough]] attribute is j=
ust as complicated as the &quot;switch&quot;. It needs to be added everywhe=
re or else we would get warnings (AFAIK).</div><div><br></div><div>C++ need=
s a lot more syntactic sugar. Small and nice things are making the language=
 more likeable. I think that you should watch other languages too for inter=
esting small features.</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/f8c908e2-d06f-4cd1-bda0-fe2b97fd21f1%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/f8c908e2-d06f-4cd1-bda0-fe2b97fd21f1=
%40isocpp.org</a>.<br />

------=_Part_5436_466158694.1501622644133--

------=_Part_5435_1704948266.1501622644132--

.
