220 32815 <1cdd0fbf-c65d-4034-82d1-a84d4c4f6d1c@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Halfdan Ingvarsson <halfdan@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: std::enum
Date: Tue, 20 Jun 2017 20:34:28 -0700 (PDT)
Lines: 244
Approved: news@gmane.org
Message-ID: <1cdd0fbf-c65d-4034-82d1-a84d4c4f6d1c@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_4754_1603844511.1498016068257"
X-Trace: blaine.gmane.org 1498016069 13046 195.159.176.226 (21 Jun 2017 03:34:29 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Wed, 21 Jun 2017 03:34:29 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBD5MZ4NLUIMRBRGSU7FAKGQEAYCLN5Q@isocpp.org Wed Jun 21 05:34:25 2017
Return-path: <std-proposals+bncBD5MZ4NLUIMRBRGSU7FAKGQEAYCLN5Q@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-ot0-f199.google.com ([74.125.82.199])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBD5MZ4NLUIMRBRGSU7FAKGQEAYCLN5Q@isocpp.org>)
	id 1dNWPQ-0003A3-Nr
	for gclcip-std-proposals@m.gmane.org; Wed, 21 Jun 2017 05:34:25 +0200
Original-Received: by mail-ot0-f199.google.com with SMTP id v16sf29412995ote.7
        for <gclcip-std-proposals@m.gmane.org>; Tue, 20 Jun 2017 20:34:30 -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=EcUmE1pZ2bGHaK5pacKCT/mDrutDunBbduQaHqtBxYU=;
        b=n1XUsti9vs1jsEBp8qlD476QiQLonYy63vZD9Tu6YeiuiJ8mDvuPQZOzn0R2fvMiVl
         xie9YHSGtvkxViwQMEfavmYTZi3mCZyYnUNpmPx8hciwVOAXNe8YM+ig4sMEy2OQUvmM
         JPM+Fl1fuTuIOgCzco7EukA+UBc1PzBM8puDZlLnQoF7f8UIsTaTwHhrYVK18/1DYNRE
         FALBT+Ul69DXG18wz8MB7WPEB5C2m2HdRvZ9MHOaM2VXEDF+m/iG4ImWNrEL5U9m6EsE
         BlU6vTtnJN1otlzjb8kuPBy3xdz19wJuarzAdVSVLUReODIBlTMAI17IPf8y6xpEolGt
         H1mQ==
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=EcUmE1pZ2bGHaK5pacKCT/mDrutDunBbduQaHqtBxYU=;
        b=OQkBohQdwA0UReKg3MeORmA2q0ZwPbDFQX43Bjig6KBmUJnP2zRvWPtUV/3r+bTVzh
         mz7CYH/6mB57f/DCjAbSMXICNHeQoMwrI92ZqE6yWsFczc8X1n8iiu1nh0Cgp+ja2BwF
         7ojU3B7vtJmzpLUKhXicYrsodX3Mu9VtfVLFR6rRvssEhgf59AJ48qH/sSvP9EFdEYYb
         DCNROiRCbcF8dF/14RKwhwYuSeNRPIdZriTPLsKMZF53w+UR6UwBAoBvx3BGsyC6rl4o
         UXyjkH8tiyrJmZTU7RoTdBbZ3SjA7jiu5Pckya3hMIzlt1xb2txQr1G1W+q/GrnEcrSp
         K5vQ==
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=EcUmE1pZ2bGHaK5pacKCT/mDrutDunBbduQaHqtBxYU=;
        b=Q/84MlVTKRbVWotLPlS+D8PUM5UuS2g0hvwvY0DRdvDNku8yHcwKZVVb2h3VhCs3JH
         yBz2KimNzp5QusMD2klHHQjaP29+XAgn/ULi+a7/DyPgMFHOERqj5MP9ZFVj6x5a38Mh
         12pFCMubYkY/qCxwPaXiIGq2HmNc3GAoUFPQEVAFIJ5QPzEELFhgOsftV2ybe4qTmVrT
         1GbQhs9phWB+zLrJpxjfHA1ePtPhnwHpHOCLDxsKL8ld5YgDvHh/urkvUXGpjiF6KoN3
         aVXrIW+YXhgHhfH2RsPjE+2jcRGb+AXCEBZ41SGoJ3bJubVsYV63r9U9qYt8FoOmd8rd
         wFeg==
X-Gm-Message-State: AKS2vOx+f+Ay8V/7WD0wLOTQ3517LSZAWLoEiRlC4/Yqn908YlXBHNAg
	GziqNCvi64RwpBRB
X-Received: by 10.157.5.209 with SMTP id 75mr4238150otd.47.1498016069636;
        Tue, 20 Jun 2017 20:34:29 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.157.12.226 with SMTP id o31ls2895037otd.2.gmail; Tue, 20 Jun
 2017 20:34:28 -0700 (PDT)
X-Received: by 10.157.83.13 with SMTP id g13mr545564oth.10.1498016068721;
        Tue, 20 Jun 2017 20:34:28 -0700 (PDT)
X-Original-Sender: halfdan@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:32815
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/32815>

------=_Part_4754_1603844511.1498016068257
Content-Type: multipart/alternative; 
	boundary="----=_Part_4755_878829838.1498016068258"

------=_Part_4755_878829838.1498016068258
Content-Type: text/plain; charset="UTF-8"

I'd like to propose a simple, but very useful utility class for the 
standard library: std::enum.  

All it does is take a template parameter, which would be an enum type.

It would then allow you to access the individual elements of that enum, in 
order of declaration, using a nearly identical interface as std::array<> 
(i.e either through enumerators, or operator[]).

E.g: 

#include <iostream>
#include <enum>
#include <algorithm>


enum Color { Red = 1, Green = 2, Blue = 23 };


int main()
{
   auto e = std::enum<Color>();
   for( auto v: e)
   {
     std::cout << "Elem: " << v << "\n";
   }
   std::cout << "Size: " << e.size() << "\n";
   std::cout << "Largest: " << std::max_element(e.begin(), e.end()) << "\n";
   return 0;
}

Output:
Elem: 1
Elem: 2
Elem: 23
Size: 3
Largest: 23

I assume that this would have to take some form of a help from the 
compiler, similar to how std::underlying_type is implemented. However, this 
would obviate the current set of hacks that either require macros, special 
class constructions, or other inconvenient forms.

-- 
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/1cdd0fbf-c65d-4034-82d1-a84d4c4f6d1c%40isocpp.org.

------=_Part_4755_878829838.1498016068258
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I&#39;d like to propose a simple, but very useful utility =
class for the standard library: std::enum. =C2=A0<div><br></div><div>All it=
 does is take a template parameter, which would be an enum type.</div><div>=
<br></div><div>It would then allow you to access the individual elements of=
 that enum, in order of declaration, using a nearly identical interface as =
std::array&lt;&gt; (i.e either through enumerators, or operator[]).</div><d=
iv><div><br></div><div>E.g:=C2=A0</div><div><br></div><div class=3D"prettyp=
rint" 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"prettyprint"><div class=3D"subprettyprint"><span style=3D"c=
olor: #800;" class=3D"styled-by-prettify">#include</span><span style=3D"col=
or: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #080;=
" class=3D"styled-by-prettify">&lt;iostream&gt;</span><span style=3D"color:=
 #000;" class=3D"styled-by-prettify"><br></span><span style=3D"color: #800;=
" class=3D"styled-by-prettify">#include</span><span style=3D"color: #000;" =
class=3D"styled-by-prettify"> </span><span style=3D"color: #080;" class=3D"=
styled-by-prettify">&lt;enum&gt;</span><span style=3D"color: #000;" class=
=3D"styled-by-prettify"><br></span><span style=3D"color: #800;" class=3D"st=
yled-by-prettify">#include</span><span style=3D"color: #000;" class=3D"styl=
ed-by-prettify"> </span><span style=3D"color: #080;" class=3D"styled-by-pre=
ttify">&lt;algorithm&gt;</span><span style=3D"color: #000;" class=3D"styled=
-by-prettify"><br><br><br></span><span style=3D"color: #008;" class=3D"styl=
ed-by-prettify">enum</span><span style=3D"color: #000;" class=3D"styled-by-=
prettify"> </span><span style=3D"color: #606;" class=3D"styled-by-prettify"=
>Color</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </s=
pan><span style=3D"color: #660;" class=3D"styled-by-prettify">{</span><span=
 style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D=
"color: #606;" class=3D"styled-by-prettify">Red</span><span style=3D"color:=
 #000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #660;" c=
lass=3D"styled-by-prettify">=3D</span><span style=3D"color: #000;" class=3D=
"styled-by-prettify"> </span><span style=3D"color: #066;" class=3D"styled-b=
y-prettify">1</span><span style=3D"color: #660;" class=3D"styled-by-prettif=
y">,</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </spa=
n><span style=3D"color: #606;" class=3D"styled-by-prettify">Green</span><sp=
an style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=
=3D"color: #660;" class=3D"styled-by-prettify">=3D</span><span style=3D"col=
or: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #066;=
" class=3D"styled-by-prettify">2</span><span style=3D"color: #660;" class=
=3D"styled-by-prettify">,</span><span style=3D"color: #000;" class=3D"style=
d-by-prettify"> </span><span style=3D"color: #606;" class=3D"styled-by-pret=
tify">Blue</span><span style=3D"color: #000;" class=3D"styled-by-prettify">=
 </span><span style=3D"color: #660;" class=3D"styled-by-prettify">=3D</span=
><span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span st=
yle=3D"color: #066;" class=3D"styled-by-prettify">23</span><span style=3D"c=
olor: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #66=
0;" class=3D"styled-by-prettify">};</span><span style=3D"color: #000;" clas=
s=3D"styled-by-prettify"><br><br><br></span><span style=3D"color: #008;" cl=
ass=3D"styled-by-prettify">int</span><span style=3D"color: #000;" class=3D"=
styled-by-prettify"> main</span><span style=3D"color: #660;" class=3D"style=
d-by-prettify">()</span><span style=3D"color: #000;" class=3D"styled-by-pre=
ttify"><br></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: #008;" class=3D"styled-by-prettify">=
auto</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> e </s=
pan><span style=3D"color: #660;" class=3D"styled-by-prettify">=3D</span><sp=
an style=3D"color: #000;" class=3D"styled-by-prettify"> std</span><span sty=
le=3D"color: #660;" class=3D"styled-by-prettify">::</span><span style=3D"co=
lor: #008;" class=3D"styled-by-prettify">enum</span><span style=3D"color: #=
660;" class=3D"styled-by-prettify">&lt;</span><span style=3D"color: #606;" =
class=3D"styled-by-prettify">Color</span><span style=3D"color: #660;" class=
=3D"styled-by-prettify">&gt;();</span><span style=3D"color: #000;" class=3D=
"styled-by-prettify"><br>=C2=A0 =C2=A0</span><span style=3D"color: #008;" c=
lass=3D"styled-by-prettify">for</span><span style=3D"color: #660;" class=3D=
"styled-by-prettify">(</span><span style=3D"color: #000;" class=3D"styled-b=
y-prettify"> </span><span style=3D"color: #008;" class=3D"styled-by-prettif=
y">auto</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> v<=
/span><span style=3D"color: #660;" class=3D"styled-by-prettify">:</span><sp=
an style=3D"color: #000;" class=3D"styled-by-prettify"> e</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=A0std</span><sp=
an style=3D"color: #660;" class=3D"styled-by-prettify">::</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify">cout </span><span style=3D"c=
olor: #660;" class=3D"styled-by-prettify">&lt;&lt;</span><span style=3D"col=
or: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #080;=
" class=3D"styled-by-prettify">&quot;Elem: &quot;</span><span style=3D"colo=
r: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #660;"=
 class=3D"styled-by-prettify">&lt;&lt;</span><span style=3D"color: #000;" c=
lass=3D"styled-by-prettify"> v </span><span style=3D"color: #660;" class=3D=
"styled-by-prettify">&lt;&lt;</span><span style=3D"color: #000;" class=3D"s=
tyled-by-prettify"> </span><span style=3D"color: #080;" class=3D"styled-by-=
prettify">&quot;\n&quot;</span><span style=3D"color: #660;" class=3D"styled=
-by-prettify">;</span><span style=3D"color: #000;" class=3D"styled-by-prett=
ify"><br>=C2=A0 =C2=A0</span><span style=3D"color: #660;" class=3D"styled-b=
y-prettify">}</span><span style=3D"color: #000;" class=3D"styled-by-prettif=
y"><br>=C2=A0 =C2=A0std</span><span style=3D"color: #660;" class=3D"styled-=
by-prettify">::</span><span style=3D"color: #000;" class=3D"styled-by-prett=
ify">cout </span><span style=3D"color: #660;" class=3D"styled-by-prettify">=
&lt;&lt;</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> <=
/span><span style=3D"color: #080;" class=3D"styled-by-prettify">&quot;Size:=
 &quot;</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </=
span><span style=3D"color: #660;" class=3D"styled-by-prettify">&lt;&lt;</sp=
an><span style=3D"color: #000;" class=3D"styled-by-prettify"> e</span><span=
 style=3D"color: #660;" class=3D"styled-by-prettify">.</span><span style=3D=
"color: #000;" class=3D"styled-by-prettify">size</span><span style=3D"color=
: #660;" class=3D"styled-by-prettify">()</span><span style=3D"color: #000;"=
 class=3D"styled-by-prettify"> </span><span style=3D"color: #660;" class=3D=
"styled-by-prettify">&lt;&lt;</span><span style=3D"color: #000;" class=3D"s=
tyled-by-prettify"> </span><span style=3D"color: #080;" class=3D"styled-by-=
prettify">&quot;\n&quot;</span><span style=3D"color: #660;" class=3D"styled=
-by-prettify">;</span><span style=3D"color: #000;" class=3D"styled-by-prett=
ify"><br>=C2=A0 =C2=A0std</span><span style=3D"color: #660;" class=3D"style=
d-by-prettify">::</span><span style=3D"color: #000;" class=3D"styled-by-pre=
ttify">cout </span><span style=3D"color: #660;" class=3D"styled-by-prettify=
">&lt;&lt;</span><span style=3D"color: #000;" class=3D"styled-by-prettify">=
 </span><span style=3D"color: #080;" class=3D"styled-by-prettify">&quot;Lar=
gest: &quot;</span><span style=3D"color: #000;" class=3D"styled-by-prettify=
"> </span><span style=3D"color: #660;" class=3D"styled-by-prettify">&lt;&lt=
;</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> std</spa=
n><span style=3D"color: #660;" class=3D"styled-by-prettify">::</span><span =
style=3D"color: #000;" class=3D"styled-by-prettify">max_element</span><span=
 style=3D"color: #660;" class=3D"styled-by-prettify">(</span><span style=3D=
"color: #000;" class=3D"styled-by-prettify">e</span><span style=3D"color: #=
660;" class=3D"styled-by-prettify">.</span><span style=3D"color: #008;" cla=
ss=3D"styled-by-prettify">begin</span><span style=3D"color: #660;" class=3D=
"styled-by-prettify">(),</span><span style=3D"color: #000;" class=3D"styled=
-by-prettify"> e</span><span style=3D"color: #660;" class=3D"styled-by-pret=
tify">.</span><span style=3D"color: #008;" class=3D"styled-by-prettify">end=
</span><span style=3D"color: #660;" class=3D"styled-by-prettify">())</span>=
<span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span sty=
le=3D"color: #660;" class=3D"styled-by-prettify">&lt;&lt;</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color=
: #080;" class=3D"styled-by-prettify">&quot;\n&quot;</span><span style=3D"c=
olor: #660;" class=3D"styled-by-prettify">;</span><span style=3D"color: #00=
0;" class=3D"styled-by-prettify"><br>=C2=A0 =C2=A0</span><span style=3D"col=
or: #008;" class=3D"styled-by-prettify">return</span><span style=3D"color: =
#000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #066;" cl=
ass=3D"styled-by-prettify">0</span><span style=3D"color: #660;" class=3D"st=
yled-by-prettify">;</span><span style=3D"color: #000;" class=3D"styled-by-p=
rettify"><br></span><span style=3D"color: #660;" class=3D"styled-by-prettif=
y">}</span></div></code></div><div><font face=3D"courier new, monospace"><b=
r></font></div><div><font face=3D"arial, sans-serif">Output:</font></div><d=
iv class=3D"prettyprint" style=3D"background-color: rgb(250, 250, 250); bor=
der-color: rgb(187, 187, 187); border-style: solid; border-width: 1px; word=
-wrap: break-word;"><code class=3D"prettyprint"><div class=3D"subprettyprin=
t"><span style=3D"color: #606;" class=3D"styled-by-prettify">Elem</span><sp=
an style=3D"color: #660;" class=3D"styled-by-prettify">:</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color=
: #066;" class=3D"styled-by-prettify">1</span><span style=3D"color: #000;" =
class=3D"styled-by-prettify"><br></span><span style=3D"color: #606;" class=
=3D"styled-by-prettify">Elem</span><span style=3D"color: #660;" class=3D"st=
yled-by-prettify">:</span><span style=3D"color: #000;" class=3D"styled-by-p=
rettify"> </span><span style=3D"color: #066;" class=3D"styled-by-prettify">=
2</span><span style=3D"color: #000;" class=3D"styled-by-prettify"><br></spa=
n><span style=3D"color: #606;" class=3D"styled-by-prettify">Elem</span><spa=
n style=3D"color: #660;" class=3D"styled-by-prettify">:</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color=
: #066;" class=3D"styled-by-prettify">23</span><span style=3D"color: #000;"=
 class=3D"styled-by-prettify"><br></span><span style=3D"color: #606;" class=
=3D"styled-by-prettify">Size</span><span style=3D"color: #660;" class=3D"st=
yled-by-prettify">:</span><span style=3D"color: #000;" class=3D"styled-by-p=
rettify"> </span><span style=3D"color: #066;" class=3D"styled-by-prettify">=
3</span><span style=3D"color: #000;" class=3D"styled-by-prettify"><br></spa=
n><span style=3D"color: #606;" class=3D"styled-by-prettify">Largest</span><=
span style=3D"color: #660;" class=3D"styled-by-prettify">:</span><span styl=
e=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"colo=
r: #066;" class=3D"styled-by-prettify">23</span></div></code></div><div><fo=
nt face=3D"courier new, monospace"><br></font></div><div>I assume that this=
 would have to take some form of a help from the compiler, similar to how s=
td::underlying_type is implemented. However, this would obviate the current=
 set of hacks that either require macros, special class constructions, or o=
ther inconvenient forms.</div></div><div><br></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/1cdd0fbf-c65d-4034-82d1-a84d4c4f6d1c%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/1cdd0fbf-c65d-4034-82d1-a84d4c4f6d1c=
%40isocpp.org</a>.<br />

------=_Part_4755_878829838.1498016068258--

------=_Part_4754_1603844511.1498016068257--

.
