220 33257 <CAOHCbit4n0oyoGp0ymu70APJg_UuNYyxd+t1FQoU96DMmh8JKw@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Tony V E <tvaneerd@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: A strong typedef syntax idea
Date: Thu, 20 Jul 2017 15:28:51 -0400
Lines: 240
Approved: news@gmane.org
Message-ID: <CAOHCbit4n0oyoGp0ymu70APJg_UuNYyxd+t1FQoU96DMmh8JKw@mail.gmail.com>
References: <fd8eda2b-182f-4e32-8fda-c7f728e22fa2@isocpp.org>
 <6718363e-3517-4af2-aa5f-9f0dd436c14b@isocpp.org> <95d6f9b7-2f4c-4b1e-6e29-477a9cb3a66d@gmail.com>
 <CABPJVnR1kzLAp3c-oLZBStoAmSjODiCAeq9MzDooq+TkzsV9sA@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="f403045ceeec36fdca0554c4c28d"
X-Trace: blaine.gmane.org 1500578935 13944 195.159.176.226 (20 Jul 2017 19:28:55 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Thu, 20 Jul 2017 19:28:55 +0000 (UTC)
To: Standard Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCUZ5QWKNQIPLCGEZMCRUBDPKSAKK@isocpp.org Thu Jul 20 21:28:50 2017
Return-path: <std-proposals+bncBCUZ5QWKNQIPLCGEZMCRUBDPKSAKK@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-lf0-f69.google.com ([209.85.215.69])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCUZ5QWKNQIPLCGEZMCRUBDPKSAKK@isocpp.org>)
	id 1dYH7x-0003I6-1R
	for gclcip-std-proposals@m.gmane.org; Thu, 20 Jul 2017 21:28:49 +0200
Original-Received: by mail-lf0-f69.google.com with SMTP id o82sf8379500lfg.5
        for <gclcip-std-proposals@m.gmane.org>; Thu, 20 Jul 2017 12:28:54 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1500578934; cv=pass;
        d=google.com; s=arc-20160816;
        b=B2b8FMkJwyhDzpfxrfzjZwhh9AFonxrCjmIjDWDjXZxPLKRC1P+87KdX3pfzXh2OXL
         RCLfUAku9frTSwWu0nL8HyuhUvt787MbX66Sjyjq77ZwL8xdXhil3XiMTYgpOeaOzs7J
         n1SgSyhlIZy+m8yLsgyPXBVvNcyy5sO1cgKYe6A5L2MJvXf/XduUW5mn0zVRBPN6yF3V
         Rt6F5T61zYKjt/NXb0r2GOAgtdG8cWP62OKZki8LQzcXaoBLZ96ObuBOQG+HY1AgrweH
         mHvHiPy0X7Y04OoqrxrgZof2cukAukVg696HL2esuaNTNJgY0b4VOdsJwMsoAGeWRORV
         /nIg==
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:to:subject:message-id:date
         :from:references:in-reply-to:mime-version:arc-authentication-results
         :arc-message-signature:dkim-signature:arc-authentication-results;
        bh=Sf3LS/tfEfHihdgE732S41AZIkSEDDOrSTLE8kMqGzE=;
        b=NjwERopJtVR5OghGRQszkV3FLpLKDzNkqkmr3CEeQqcoTAmvozKHmEGTnj7N5RWuco
         XV/KRCD5FECgXT9kARyuwwAJmSExZXE37l7C/TZL15oD1I2WgbA3L+dOUOY33oUN51oE
         5kN3spEdDOYWTLaVQKRVyyx8tEk+p/1u++E6pANXdtfO+tAFpszesh8RqYcsjA8QBhoe
         C2+cgl/+eYXbrtmYbG0ElF9O2uWF5TlhPZdulMbs6jKOczdDL6fKx/4yusHvoBJjYlTd
         sqhtqusdyVfDc3sONCsx1KLP1WV/YLvZBZuYIiehf5ANZsRDlImHhvsTJ6R0bd6mAjfD
         pcFg==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@gmail.com header.b=ew8uQGIo;
       spf=pass (google.com: domain of tvaneerd@gmail.com designates 2a00:1450:400c:c0c::232 as permitted sender) smtp.mailfrom=tvaneerd@gmail.com;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=mime-version:in-reply-to:references:from:date:message-id:subject:to
         :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=Sf3LS/tfEfHihdgE732S41AZIkSEDDOrSTLE8kMqGzE=;
        b=1SprQif2dmiKfdPyd/tX+f1Jm/s8VPQ7pr2Ag/lBQYbEqOT+uhLEwVFIsFGxxMm3Be
         2xtV/Dzh0R+QGYX9X2CDSi6XiHMLz/MzJu0vckG9X6GQn3e6fkPm6ulJHKp41f6Dd0yB
         /0CQedWrsrMqQMVcca54SF+P2cZb2xFjOpCFU0NgZ1UeSvUSGtjVl0+2Tdz2k9HpSVFw
         AvEi8OKjOuSdeLVvkyaQkq7ODRPCHJXzaFQSqpsns6jd7+lRQilMLyKXCMoAOpVF/wcf
         7ELk9hVmPyixmWO583VehS05zSWBcxS2exgJMKNx6qQbdRbmLU+61sWfFjCMe++5xdu8
         4nUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:in-reply-to:references:from:date
         :message-id:subject:to: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=Sf3LS/tfEfHihdgE732S41AZIkSEDDOrSTLE8kMqGzE=;
        b=gGLY2GM6kSfdH5kQBBGdCpykTCNXH2Dx0PPRw9KGPU/x4vVZZK0wBNNBfKUln3lN4c
         clpKDLvrqqzghF5QomaApy6o3fM7hviR8obxyD3utCqAs5ebu8AAECMQThH+NC/QcTY1
         KEw6mV/xWf3hqa+Ih71vPW5E6TSUhicwhb2LmPngk0Z+IiGf+rv8MrBkCF/ldUlNVxpu
         CatqEN87iBOeu912kI3Z6NBBxU+sUXJWbfzeJn8AGikHlgtcC877EuqZRSkhkQaqpoPh
         RX1R0y0qW+ZaqVC5SNB51Q637IoI/dEMpiHedYXLfv95hfGVVMyUgfPNt1cC19iRqeo5
         DK+A==
X-Gm-Message-State: AIVw112LOF/AeRAF8UNZlRQwyHf18EAefdK3xC+0TeJUmQGIHDgOeH9j
	Ydg4XnqRaYbkcLKX
X-Received: by 10.46.83.86 with SMTP id t22mr858571ljd.33.1500578934805;
        Thu, 20 Jul 2017 12:28:54 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.28.21.14 with SMTP id 14ls404672wmv.3.canary-gmail; Thu, 20
 Jul 2017 12:28:52 -0700 (PDT)
X-Received: by 10.28.217.3 with SMTP id q3mr2859600wmg.115.1500578932740;
        Thu, 20 Jul 2017 12:28:52 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1500578932; cv=none;
        d=google.com; s=arc-20160816;
        b=KCGRTDRRE1tCx197B6wZT/63ptzw430KvC29VUUmD1G8DbbgRH+vInFvWmp5S+sWIL
         KXnOcgQdSO9sP1SIrSp8ZWXga3O8wSmMBx1VpRuz07M+Of8Hpe2/CcEhZIbu0W6Yzz+c
         cLBmm8tc5PKar0zO9ouCTfYuYOk9YnTwBbbdEBr1GJAM9J+5LYJWvhpu4L1Pw14zittJ
         rnDY7DOsWEjYjrkwKqDTcjkd3JO7BeYEBYFfrCerODm6ggmzKBFoP18CVIoZM58pkH/2
         U6qusYyfj4gnoqBVuBKROud1uS1NEOF/aCoA2olV3evMt1Bgez5oSS3ICyp4pXQKY6lg
         tDSQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=to:subject:message-id:date:from:references:in-reply-to:mime-version
         :dkim-signature:arc-authentication-results;
        bh=TL4HIcgbpPLv030DU8hEkJNa5cjwWeu2NR5XoHiR/hk=;
        b=dw0av62FPPFaJB4mq46Vq90waMNxhqs+M1vdzlRhZ4F1o1OjcT2fCfbo8nO8VbpFts
         mgyuBt1MODt6fqz6j29vz5mEGO4+0Y3vWCaXFasI+YWVA3GFPr1HEVxUbeJQMbLYgkyI
         bZdHXbnHkQQ/qk+nWrfRpFRpUCtr2INGL82KfhZ0j6fxF5PTTS8Pos137ZJzRM+5Rlqe
         p897Q5A8QETr6TMMGXZAv09jYkTIhQcZmLaXbatDJx6jJ7qgWVScnMfQhadhgVMev5ob
         z1ABtOxLHGya98QSZXrsiIip1R6qT4URw5SNS5XA+f68nO+GwUwrYFBmKxd302sbij7g
         fe/w==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@gmail.com header.b=ew8uQGIo;
       spf=pass (google.com: domain of tvaneerd@gmail.com designates 2a00:1450:400c:c0c::232 as permitted sender) smtp.mailfrom=tvaneerd@gmail.com;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com
Original-Received: from mail-wr0-x232.google.com (mail-wr0-x232.google.com. [2a00:1450:400c:c0c::232])
        by mx.google.com with ESMTPS id z16si2126568wmc.103.2017.07.20.12.28.52
        for <std-proposals@isocpp.org>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Thu, 20 Jul 2017 12:28:52 -0700 (PDT)
Received-SPF: pass (google.com: domain of tvaneerd@gmail.com designates 2a00:1450:400c:c0c::232 as permitted sender) client-ip=2a00:1450:400c:c0c::232;
Original-Received: by mail-wr0-x232.google.com with SMTP id y43so74520606wrd.3
        for <std-proposals@isocpp.org>; Thu, 20 Jul 2017 12:28:52 -0700 (PDT)
X-Received: by 10.223.169.41 with SMTP id u38mr4143578wrc.286.1500578932256;
 Thu, 20 Jul 2017 12:28:52 -0700 (PDT)
Original-Received: by 10.28.142.20 with HTTP; Thu, 20 Jul 2017 12:28:51 -0700 (PDT)
In-Reply-To: <CABPJVnR1kzLAp3c-oLZBStoAmSjODiCAeq9MzDooq+TkzsV9sA@mail.gmail.com>
X-Original-Sender: tvaneerd@gmail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com header.b=ew8uQGIo;       spf=pass (google.com: domain of
 tvaneerd@gmail.com designates 2a00:1450:400c:c0c::232 as permitted sender)
 smtp.mailfrom=tvaneerd@gmail.com;       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=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:33257
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/33257>

--f403045ceeec36fdca0554c4c28d
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Here's some example code which may or may not be helped by some form of
"strong typedef".

https://github.com/tvaneerd/code/blob/master/StrongId.h

It wraps a string or int or whatever, and makes it a unique type (based on
a Tag template param).
Since it is for IDs, it doesn't want arithmetic (or concatenation)
operations, but it does want equality and less (et al).

I suspect you always want to "inherit" =3D=3D and !=3D, and most likely
relational ordering.


On Thu, Jul 20, 2017 at 6:59 AM, John McFarlane <john@mcfarlane.name> wrote=
:

> On Thu, Jul 20, 2017 at 2:29 AM Jonathan M=C3=BCller <
> jonathanmueller.dev@gmail.com> wrote:
>
>> On 20.07.2017 11:25, Alex Newlifer wrote:
>> > Hello!
>> >
>> > I suggest to use `explicit` specifier for using-declaration to make
>> strong
>> > typedef (aka completely new type).
>> >
>> > Simple example:
>> > ```
>> > using explicit my_int_t =3D int;
>> >
>> > /* Now we cannot pass into function foo int values without explicit
>> cast.
>> > */
>> > void foo(my_int_t val)
>> > {}
>> >
>> > int val =3D 0;
>> >
>> > foo(val); // Error
>> > foo(static_cast<my_int_t>(val)); // Ok
>> > foo(my_int_t(0)); // Ok
>> > ```
>> >
>>
>> While this would be a great step forward, this is not useful for all
>> cases.
>>
>
> Yes, something like this could be helpful for improving type safety.
>
> In a strong typedef you'd want to keep certain functions like an
>> `operator+` in your example, but not necessarily *all* operators, member
>> functions.
>>
>
> Perhaps removing the operators of a type should be separated from the
> concern of removing implicit casting.  If you don't want the full
> complement of arithmetic, maybe you should not start with `int` at all, b=
ut
> instead 'explicitly alias' a type with only the operators you want.
> (Something like `boost::operators` can make this a easier to achieve.)
>
> John
>
>>
>> See my blog post about it for rationale:
>> http://foonathan.net/blog/2016/10/19/strong-typedefs.html
>>
>> --
>> You received this message because you are subscribed to the Google Group=
s
>> "ISO C++ Standard - Future Proposals" group.
>> To unsubscribe from this group and stop receiving emails from it, send a=
n
>> 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/95d6f9b7-2f4c-4b1e-
>> 6e29-477a9cb3a66d%40gmail.com.
>>
> --
> 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/CABPJVnR1kzLAp3c-
> oLZBStoAmSjODiCAeq9MzDooq%2BTkzsV9sA%40mail.gmail.com
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CABPJVnR1kz=
LAp3c-oLZBStoAmSjODiCAeq9MzDooq%2BTkzsV9sA%40mail.gmail.com?utm_medium=3Dem=
ail&utm_source=3Dfooter>
> .
>



--=20
Be seeing you,
Tony

--=20
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 e=
mail 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/CAOHCbit4n0oyoGp0ymu70APJg_UuNYyxd%2Bt1FQoU96DMm=
h8JKw%40mail.gmail.com.

--f403045ceeec36fdca0554c4c28d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Here&#39;s some example code which may or may not be helpe=
d by some form of &quot;strong typedef&quot;.<div><br></div><div><a href=3D=
"https://github.com/tvaneerd/code/blob/master/StrongId.h">https://github.co=
m/tvaneerd/code/blob/master/StrongId.h</a><br></div><div><br></div><div>It =
wraps a string or int or whatever, and makes it a unique type (based on a T=
ag template param).</div><div>Since it is for IDs, it doesn&#39;t want arit=
hmetic (or concatenation) operations, but it does want equality and less (e=
t al).</div><div><br></div><div>I suspect you always want to &quot;inherit&=
quot; =3D=3D and !=3D, and most likely relational ordering.</div><div><br><=
/div></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Thu=
, Jul 20, 2017 at 6:59 AM, John McFarlane <span dir=3D"ltr">&lt;<a href=3D"=
mailto:john@mcfarlane.name" target=3D"_blank">john@mcfarlane.name</a>&gt;</=
span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8e=
x;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div class=
=3D"gmail_quote"><span class=3D""><div dir=3D"ltr">On Thu, Jul 20, 2017 at =
2:29 AM Jonathan M=C3=BCller &lt;<a href=3D"mailto:jonathanmueller.dev@gmai=
l.com" target=3D"_blank">jonathanmueller.dev@gmail.com</a><wbr>&gt; wrote:<=
br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;borde=
r-left:1px #ccc solid;padding-left:1ex">On 20.07.2017 11:25, Alex Newlifer =
wrote:<br>
&gt; Hello!<br>
&gt;<br>
&gt; I suggest to use `explicit` specifier for using-declaration to make st=
rong<br>
&gt; typedef (aka completely new type).<br>
&gt;<br>
&gt; Simple example:<br>
&gt; ```<br>
&gt; using explicit my_int_t =3D int;<br>
&gt;<br>
&gt; /* Now we cannot pass into function foo int values without explicit ca=
st.<br>
&gt; */<br>
&gt; void foo(my_int_t val)<br>
&gt; {}<br>
&gt;<br>
&gt; int val =3D 0;<br>
&gt;<br>
&gt; foo(val); // Error<br>
&gt; foo(static_cast&lt;my_int_t&gt;(val)<wbr>); // Ok<br>
&gt; foo(my_int_t(0)); // Ok<br>
&gt; ```<br>
&gt;<br>
<br>
While this would be a great step forward, this is not useful for all cases.=
<br></blockquote><div><br></div></span><div>Yes, something like this could =
be helpful for improving type safety.<br><br></div><span class=3D""><blockq=
uote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex">
In a strong typedef you&#39;d want to keep certain functions like an<br>
`operator+` in your example, but not necessarily *all* operators, member<br=
>
functions.<br></blockquote><div><br></div></span><div>Perhaps removing the =
operators of a type should be separated from the concern of removing implic=
it casting.=C2=A0 If you don&#39;t want the full complement of arithmetic, =
maybe you should not start with `int` at all, but instead &#39;explicitly a=
lias&#39; a type with only the operators you want.=C2=A0 (Something like `b=
oost::operators` can make this a easier to achieve.)=C2=A0 <br><br></div><d=
iv>John <br></div><span class=3D""><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
See my blog post about it for rationale:<br>
<a href=3D"http://foonathan.net/blog/2016/10/19/strong-typedefs.html" rel=
=3D"noreferrer" target=3D"_blank">http://foonathan.net/blog/<wbr>2016/10/19=
/strong-typedefs.<wbr>html</a><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%2Bunsubscribe@isocpp.org" target=3D=
"_blank">std-proposals+unsubscribe@<wbr>isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">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/95d6f9b7-2f4c-4b1e-6e29-477a9cb3a66d%=
40gmail.com" rel=3D"noreferrer" target=3D"_blank">https://groups.google.com=
/a/<wbr>isocpp.org/d/msgid/std-<wbr>proposals/95d6f9b7-2f4c-4b1e-<wbr>6e29-=
477a9cb3a66d%40gmail.com</a>.<br>
</blockquote></span></div></div><span class=3D"">

<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" target=3D"_=
blank">std-proposals+unsubscribe@<wbr>isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br></span>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CABPJVnR1kzLAp3c-oLZBStoAmSjODiCAeq9M=
zDooq%2BTkzsV9sA%40mail.gmail.com?utm_medium=3Demail&amp;utm_source=3Dfoote=
r" target=3D"_blank">https://groups.google.com/a/<wbr>isocpp.org/d/msgid/st=
d-<wbr>proposals/CABPJVnR1kzLAp3c-<wbr>oLZBStoAmSjODiCAeq9MzDooq%<wbr>2BTkz=
sV9sA%40mail.gmail.com</a>.<br>
</blockquote></div><br><br clear=3D"all"><div><br></div>-- <br><div class=
=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><d=
iv>Be seeing you,<br></div>Tony<br></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/CAOHCbit4n0oyoGp0ymu70APJg_UuNYyxd%2B=
t1FQoU96DMmh8JKw%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAOHCbit4n0oyoG=
p0ymu70APJg_UuNYyxd%2Bt1FQoU96DMmh8JKw%40mail.gmail.com</a>.<br />

--f403045ceeec36fdca0554c4c28d--

.
