220 40409 <CALvx3hboWxMcpiQbiUbRCZK8jdskm_3Hn=Hx5ATGf7MnLHhdgA@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Richard Hodges <hodges.r@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: more security concerns
Date: Tue, 9 Oct 2018 12:29:44 +0200
Lines: 212
Approved: news@gmane.org
Message-ID: <CALvx3hboWxMcpiQbiUbRCZK8jdskm_3Hn=Hx5ATGf7MnLHhdgA@mail.gmail.com>
References: <CAFdMc-0NqfbqeOhhH1YiVGxDRVPv7COKNqge3mLu8UE8SgcXNw@mail.gmail.com>
 <CAO8_tC4kNZ6s-xMXo69n1D3dbOMkqt0fjLU44Uq5TfABp17hQQ@mail.gmail.com>
 <CAFdMc-1DpAUkYDVyNmP5H49XyNVDq5_T6UkEVaQGMGA0YEhNGw@mail.gmail.com>
 <CANiq72=4-NBXg28AVBbaY83jLgTNRowmKiMT8Sgk28jTUu2xfw@mail.gmail.com> <1aa6c911-439e-4469-806d-bdc39989ad40@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="0000000000000752e10577c93815"
X-Trace: blaine.gmane.org 1539080875 32153 195.159.176.226 (9 Oct 2018 10:27:55 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Tue, 9 Oct 2018 10:27:55 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBD4PBM7UWAHRBJEG6LOQKGQEQJZXXGY@isocpp.org Tue Oct 09 12:27:51 2018
Return-path: <std-proposals+bncBD4PBM7UWAHRBJEG6LOQKGQEQJZXXGY@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-it1-f198.google.com ([209.85.166.198])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBD4PBM7UWAHRBJEG6LOQKGQEQJZXXGY@isocpp.org>)
	id 1g9pEx-0008CG-9H
	for gclcip-std-proposals@m.gmane.org; Tue, 09 Oct 2018 12:27:47 +0200
Original-Received: by mail-it1-f198.google.com with SMTP id y73-v6sf1522329ita.2
        for <gclcip-std-proposals@m.gmane.org>; Tue, 09 Oct 2018 03:29:57 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1539080997; cv=pass;
        d=google.com; s=arc-20160816;
        b=Ke9NwCCwwp5Rai80MSkTp7dhkQC+EuVlSEMBKnht7dldfHPzWu67nFrNhkbDPVvXXC
         j/1Lc2a7UW0bYLdiRb9JvHJu/ABwkvqtwp36fYd+QSGuWXG1gGHA+To2jojTVD0kkdH/
         jys9oVFoZIgS9j/Jc1yoLBfxLXbSmAfmLU7RBPg3RcR0k6xKSqAPJRSD8MBTtlFDEFzA
         6Urw7LV3OU/CT0cBfpHd8N9J5tMFLKE6tk8kQw8F/TIsy8FNvFKEuKn6wiHblmZKufGB
         DQbQZ+18BAZEG15J31axx36AXS2xDUOajv/OxDyDC/zxcxob68u5gkW53hsFkiH/idEX
         +yyg==
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:in-reply-to:references:mime-version:dkim-signature;
        bh=fcierOYWcTGaSdG50VHiXhsoEVfavBybLCsr0tfV8H0=;
        b=HyyezLgrM2gQxk00honZM6p9cqWMvGMjCauGB44WOQaFqETSyd4nhKDXPxt+fplUGJ
         shiBWu4ne4JuR+MVP9tX3FapjwHjQZOhDS0e15jEOyawukL4SvTC/C9Tp2zIkqVOYSPN
         /0LyEZ3mwVMxQYN/uolHerV6XDbkE98IgR5GBtaa88DQzbHR5zZ2EFDgWqcUAEH6T0Uy
         t8Zykp/0BoYRWSXXVqzUSe2vqP64ZRAG8MwbgjMLNklTVIx7GO3HQZfxn1PPkc7eEHQp
         kOshxLhqe3zHwQDuXBFdphed8BpYK8UX3lIBtA1MiVp2OBC/MMvDXtvXLV8HucO09CIf
         aPsA==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=kg7Fs+Yq;
       spf=pass (google.com: domain of hodges.r@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=hodges.r@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE 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:references:in-reply-to: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=fcierOYWcTGaSdG50VHiXhsoEVfavBybLCsr0tfV8H0=;
        b=mKZL5xuBWRaxZu3EoniZHk6lI/DV+Va64POaiC/srKJ0E4SIfC4sFmbN0qJYamuknM
         tou0Rnkq3SDf/0AJG3D7HzUvQYfcLCmVh0dvbAmHdVBJWc8qDOd1oscqelh++Yn7+GB4
         3mZSuAWfnubjjUYDmiaVvRBmB6zgmbgw9o22te7nF7/B5kfWkN48epvfFZY4ROHGEuiT
         OQhIv1R1jSNM3IeY5LS1MSLHG0bo2amA6BIXlKMPtvqGxK+uwcOeF0+grfcXElsUYKi1
         NOvy1YH++PaWV4GsVV72+o97JTjnuT2OdzUc2g3CYtq4b0l8c9dp/eA2IV3jycnNhQCE
         vo3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to: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=fcierOYWcTGaSdG50VHiXhsoEVfavBybLCsr0tfV8H0=;
        b=X2QnBu1HqTG/TRqpVj0bloIFQ79IUMeUVyiil79MwHIfKpWBjZ980dE28jGXd6v5/v
         SFgtj49fDusUv40mIq57hKMttrBENPpnqKM5GEDMhdiYDoehonhW6OEDzts8wE4uRejQ
         YEL2jwOhUN3w+s8tolQbFO0vQlechZDhd5uxDYxBmkIHZGujacMispVwsGhlEeT7oJeA
         odi3o5VpmbC07CYv6NeTke8lsLxx0GEqiJkpSoRhzvRCT4HoKsWA0199pwBog5KcXudb
         gKvi3/hFvJpI9xGmmhXmtRbUBrAno7o1pH5OZ79oHIPxAi4j9Lh1lHY02MyVFO/0L+nm
         4Www==
X-Gm-Message-State: ABuFfogb0PUGmYiPYZSA7Wt4E55giEw4nbv0CKCifwekn9JCVxH8S3q3
	ivNpPo+96EI9LISUPPtq4ljdnw==
X-Google-Smtp-Source: ACcGV60ey+Oly0z3gOHPUQB1T77Ol6XGaawnWUd0tNkwTt5EJHBjgpIxZqvxm8DDadBvnhkTjbDFnw==
X-Received: by 2002:a24:ee43:: with SMTP id b64-v6mr1399407iti.3.1539080997405;
        Tue, 09 Oct 2018 03:29:57 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 2002:a24:2c0d:: with SMTP id i13-v6ls782418iti.0.gmail; Tue, 09
 Oct 2018 03:29:56 -0700 (PDT)
X-Received: by 2002:a24:f884:: with SMTP id a126-v6mr1212058ith.113.1539080996319;
        Tue, 09 Oct 2018 03:29:56 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1539080996; cv=none;
        d=google.com; s=arc-20160816;
        b=Uij1qMWVYow87QST0OBBUGg6Yu1dL2S+buMK7GneGR062uZgj2KjBbCE3KBka4wk99
         rU4HZ8mFAdgs+zzZ8Bm2mtoOk3w31ColJ3uppXW8WV9kBiCKPfoXNxsAkl9QBoPKa/RP
         ocrewlQakZ911J/Yo2XSJ6aumNL6j67cEbwZ0fG10HmSqRylqdMmbjm/ransBsCuQCDt
         aB6IjdzUj923T51ptb7c2fNnKJUq0r0uB8+DYTUkCAIuRymQyzZQ+sfyn6LnK7WaRSNE
         6kMOLt/07bDHnBOS5OhA/TKxAPKg2/tfsWyC9NWCMQ9DHJTKWuaIKYyjsYHmWgcdq2Tg
         Ef3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :dkim-signature;
        bh=Q/MTN5vDOGPQHSm6g92f5ObvidCg8BZ3xOqGUTgeqJw=;
        b=X99IlewkU3NYNOTSYhNZ2xB+Q+KZ+c1KXW16LATcHS+uv4+kJ0XuxhN4tx0u57h+ul
         TOR9/g/Kfp+LrcHJDaLbXBxiBn0xQmFRSgdho5cVAJReSMMGuTfaybPXUWXQumNSB5F9
         PuPuuQDasGcz3MzXCV3v6TwHicWQN5mNgumjWQXGR+DPuR2Zl1lxwmdqokpqynbdkQgQ
         HydXnhAPxuVCbQ5z4NWZ9UtPYifpTKaxD89qoCLDyET3QKQqW8ZtcNJb8iEg3GzqY7cW
         26HC81gTZIVmv5Rb9axUsjm7EnZoH1v/PrbRbnJNSmF1q9+LIrCCR4cPxPp3T7BkLSxP
         YG3w==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=kg7Fs+Yq;
       spf=pass (google.com: domain of hodges.r@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=hodges.r@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com
Original-Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41])
        by mx.google.com with SMTPS id g191-v6sor28602990jag.6.2018.10.09.03.29.56
        for <std-proposals@isocpp.org>
        (Google Transport Security);
        Tue, 09 Oct 2018 03:29:56 -0700 (PDT)
Received-SPF: pass (google.com: domain of hodges.r@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41;
X-Received: by 2002:a02:f91:: with SMTP id 17-v6mr22843208jao.64.1539080995688;
 Tue, 09 Oct 2018 03:29:55 -0700 (PDT)
In-Reply-To: <1aa6c911-439e-4469-806d-bdc39989ad40@isocpp.org>
X-Original-Sender: hodges.r@gmail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com header.s=20161025 header.b=kg7Fs+Yq;       spf=pass
 (google.com: domain of hodges.r@gmail.com designates 209.85.220.41 as
 permitted sender) smtp.mailfrom=hodges.r@gmail.com;       dmarc=pass (p=NONE
 sp=QUARANTINE 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-Spam-Checked-In-Group: 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:40409
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/40409>

--0000000000000752e10577c93815
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 9 Oct 2018 at 09:25, Micha=C5=82 Gawron <mcvsama@gmail.com> wrote:

> Wouldn't something like this as a std:: function work?
>
> template<class T>
>     inline add_volatile<T>&
>     make_volatile (T& t)
>     {
>         return t;
>     }
>
>
I had the same thought. The old assembler/c-hacker in me, which screams
"it's all just bl**dy memory!!" completely agrees with you (although
shouldn't it be `add_volatile_t<T>&` ?.

Would this require a language change?




> Then later:
>
> int a =3D 5;
> =E2=80=A6
> make_volatile (a) =3D 0;
>
>
> std::best_regards();
>
> On Tuesday, October 9, 2018 at 9:02:41 AM UTC+2, Miguel Ojeda wrote:
>>
>> Hi Daniel,
>>
>> For this specific case (data that must be kept as secret as reasonably
>> possible, like passwords, secrets, keying data...), I am proposing
>> `secure_clear` (a memset_s-like function and function template) and
>> `secure_val` (a new class template) in P1315 for the next mailing.
>> Meanwhile that is out, please take a look at:
>>
>>   https://ojeda.io/cpp/secure_val
>>
>> As long as your proposal allows to write functionality like
>> `secure_clear` and `secure_val` as portably and easily as possible, it
>> seems useful!
>>
>> Cheers,
>> Miguel
>>
> --
> 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/1aa6c911-439=
e-4469-806d-bdc39989ad40%40isocpp.org
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/1aa6c911-43=
9e-4469-806d-bdc39989ad40%40isocpp.org?utm_medium=3Demail&utm_source=3Dfoot=
er>
> .
>

--=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/CALvx3hboWxMcpiQbiUbRCZK8jdskm_3Hn%3DHx5ATGf7MnL=
HhdgA%40mail.gmail.com.

--0000000000000752e10577c93815
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Tue=
, 9 Oct 2018 at 09:25, Micha=C5=82 Gawron &lt;<a href=3D"mailto:mcvsama@gma=
il.com">mcvsama@gmail.com</a>&gt; wrote:<br></div><blockquote class=3D"gmai=
l_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left=
:1ex"><div dir=3D"ltr">Wouldn&#39;t something like this as a std:: function=
 work?<br><br><div class=3D"m_-1580269167637698904prettyprint" style=3D"bac=
kground-color:rgb(250,250,250);border-color:rgb(187,187,187);border-style:s=
olid;border-width:1px;word-wrap:break-word"><code class=3D"m_-1580269167637=
698904prettyprint"><div class=3D"m_-1580269167637698904subprettyprint"><spa=
n style=3D"color:#008" class=3D"m_-1580269167637698904styled-by-prettify">t=
emplate</span><span style=3D"color:#660" class=3D"m_-1580269167637698904sty=
led-by-prettify">&lt;</span><span style=3D"color:#008" class=3D"m_-15802691=
67637698904styled-by-prettify">class</span><span style=3D"color:#000" class=
=3D"m_-1580269167637698904styled-by-prettify"> T</span><span style=3D"color=
:#660" class=3D"m_-1580269167637698904styled-by-prettify">&gt;</span><span =
style=3D"color:#000" class=3D"m_-1580269167637698904styled-by-prettify"><br=
>=C2=A0 =C2=A0 </span><span style=3D"color:#008" class=3D"m_-15802691676376=
98904styled-by-prettify">inline</span><span style=3D"color:#000" class=3D"m=
_-1580269167637698904styled-by-prettify"> add_volatile</span><span style=3D=
"color:#660" class=3D"m_-1580269167637698904styled-by-prettify">&lt;</span>=
<span style=3D"color:#000" class=3D"m_-1580269167637698904styled-by-prettif=
y">T</span><span style=3D"color:#660" class=3D"m_-1580269167637698904styled=
-by-prettify">&gt;&amp;</span><span style=3D"color:#000" class=3D"m_-158026=
9167637698904styled-by-prettify"><br>=C2=A0 =C2=A0 make_volatile </span><sp=
an style=3D"color:#660" class=3D"m_-1580269167637698904styled-by-prettify">=
(</span><span style=3D"color:#000" class=3D"m_-1580269167637698904styled-by=
-prettify">T</span><span style=3D"color:#660" class=3D"m_-15802691676376989=
04styled-by-prettify">&amp;</span><span style=3D"color:#000" class=3D"m_-15=
80269167637698904styled-by-prettify"> t</span><span style=3D"color:#660" cl=
ass=3D"m_-1580269167637698904styled-by-prettify">)</span><span style=3D"col=
or:#000" class=3D"m_-1580269167637698904styled-by-prettify"><br>=C2=A0 =C2=
=A0 </span><span style=3D"color:#660" class=3D"m_-1580269167637698904styled=
-by-prettify">{</span><span style=3D"color:#000" class=3D"m_-15802691676376=
98904styled-by-prettify"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 </span><span style=
=3D"color:#008" class=3D"m_-1580269167637698904styled-by-prettify">return</=
span><span style=3D"color:#000" class=3D"m_-1580269167637698904styled-by-pr=
ettify"> t</span><span style=3D"color:#660" class=3D"m_-1580269167637698904=
styled-by-prettify">;</span><span style=3D"color:#000" class=3D"m_-15802691=
67637698904styled-by-prettify"><br>=C2=A0 =C2=A0 </span><span style=3D"colo=
r:#660" class=3D"m_-1580269167637698904styled-by-prettify">}</span><span st=
yle=3D"color:#000" class=3D"m_-1580269167637698904styled-by-prettify"><br><=
/span></div></code></div><div><br></div></div></blockquote><div><br></div><=
div>I had the same thought. The old assembler/c-hacker in me, which screams=
 &quot;it&#39;s all just bl**dy memory!!&quot; completely agrees with you (=
although shouldn&#39;t it be `<font face=3D"monospace, monospace">add_volat=
ile_t&lt;T&gt;&amp;</font>` ?.</div><div><br></div><div>Would this require =
a language change?</div><div><br></div><div><br></div><div>=C2=A0</div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #c=
cc solid;padding-left:1ex"><div dir=3D"ltr"><div></div><div>Then later:</di=
v><div><br></div><div><div class=3D"m_-1580269167637698904prettyprint" styl=
e=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"m_-15802=
69167637698904prettyprint"><div class=3D"m_-1580269167637698904subprettypri=
nt"><span style=3D"color:#008" class=3D"m_-1580269167637698904styled-by-pre=
ttify">int</span><span style=3D"color:#000" class=3D"m_-1580269167637698904=
styled-by-prettify"> a </span><span style=3D"color:#660" class=3D"m_-158026=
9167637698904styled-by-prettify">=3D</span><span style=3D"color:#000" class=
=3D"m_-1580269167637698904styled-by-prettify"> </span><span style=3D"color:=
#066" class=3D"m_-1580269167637698904styled-by-prettify">5</span><span styl=
e=3D"color:#660" class=3D"m_-1580269167637698904styled-by-prettify">;</span=
><span style=3D"color:#000" class=3D"m_-1580269167637698904styled-by-pretti=
fy"><br></span><span style=3D"color:#660" class=3D"m_-1580269167637698904st=
yled-by-prettify">=E2=80=A6</span><span style=3D"color:#000" class=3D"m_-15=
80269167637698904styled-by-prettify"><br>make_volatile </span><span style=
=3D"color:#660" class=3D"m_-1580269167637698904styled-by-prettify">(</span>=
<span style=3D"color:#000" class=3D"m_-1580269167637698904styled-by-prettif=
y">a</span><span style=3D"color:#660" class=3D"m_-1580269167637698904styled=
-by-prettify">)</span><span style=3D"color:#000" class=3D"m_-15802691676376=
98904styled-by-prettify"> </span><span style=3D"color:#660" class=3D"m_-158=
0269167637698904styled-by-prettify">=3D</span><span style=3D"color:#000" cl=
ass=3D"m_-1580269167637698904styled-by-prettify"> </span><span style=3D"col=
or:#066" class=3D"m_-1580269167637698904styled-by-prettify">0</span><span s=
tyle=3D"color:#660" class=3D"m_-1580269167637698904styled-by-prettify">;</s=
pan></div></code></div><br></div><div><br>std::best_regards();<br><br>On Tu=
esday, October 9, 2018 at 9:02:41 AM UTC+2, Miguel Ojeda wrote:<blockquote =
class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-left:1px #=
ccc solid;padding-left:1ex">Hi Daniel,
<br>
<br>For this specific case (data that must be kept as secret as reasonably
<br>possible, like passwords, secrets, keying data...), I am proposing
<br>`secure_clear` (a memset_s-like function and function template) and
<br>`secure_val` (a new class template) in P1315 for the next mailing.
<br>Meanwhile that is out, please take a look at:
<br>
<br>=C2=A0 <a href=3D"https://ojeda.io/cpp/secure_val" rel=3D"nofollow" tar=
get=3D"_blank">https://ojeda.io/cpp/secure_val</a>
<br>
<br>As long as your proposal allows to write functionality like
<br>`secure_clear` and `secure_val` as portably and easily as possible, it
<br>seems useful!
<br>
<br>Cheers,
<br>Miguel
<br></blockquote></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" target=3D"_=
blank">std-proposals+unsubscribe@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/1aa6c911-439e-4469-806d-bdc39989ad40%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter" target=3D"_blank">=
https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/1aa6c911-439e-=
4469-806d-bdc39989ad40%40isocpp.org</a>.<br>
</blockquote></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/CALvx3hboWxMcpiQbiUbRCZK8jdskm_3Hn%3D=
Hx5ATGf7MnLHhdgA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CALvx3hboWxMcpi=
QbiUbRCZK8jdskm_3Hn%3DHx5ATGf7MnLHhdgA%40mail.gmail.com</a>.<br />

--0000000000000752e10577c93815--

.
