220 7228 <CAOpASk6YqoDO5VU-QuKEg4ijMcwAfRT4OFQd-MhJFXehie-6Dw@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: =?ISO-8859-1?Q?R=E9my_Lefevre?= <lefevreremy@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: "count_while" and "count_until" algorithms
Date: Wed, 9 Oct 2013 13:13:44 +0200
Lines: 463
Approved: news@gmane.org
Message-ID: <CAOpASk6YqoDO5VU-QuKEg4ijMcwAfRT4OFQd-MhJFXehie-6Dw@mail.gmail.com>
References: <CAOpASk64dV+3ZUW+Z8wcEqug_oSaztvJp1zsDB_QdAxi+fwcsA@mail.gmail.com>
 <a25301a7-e4c6-4245-b053-00d46ca5c7d4@isocpp.org> <AEDAD631-3D32-421B-85CA-9C342D57A439@hsr.ch>
 <CAOpASk4SNY8aQJ8ijO7xNjBtTvLncHySJ9kWeyPyF+n3=zFtiA@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=089e011777afdbcbf604e84cfc84
X-Trace: ger.gmane.org 1381317269 19395 80.91.229.3 (9 Oct 2013 11:14:29 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Wed, 9 Oct 2013 11:14:29 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCN7B34JVEARBEPV2SJAKGQEARJGI7I@isocpp.org Wed Oct 09 13:14:31 2013
Return-path: <std-proposals+bncBCN7B34JVEARBEPV2SJAKGQEARJGI7I@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-wg0-f69.google.com ([74.125.82.69])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCN7B34JVEARBEPV2SJAKGQEARJGI7I@isocpp.org>)
	id 1VTrik-0005Jw-Qq
	for gclcip-std-proposals@m.gmane.org; Wed, 09 Oct 2013 13:14:26 +0200
Original-Received: by mail-wg0-f69.google.com with SMTP id f12sf729792wgh.8
        for <gclcip-std-proposals@m.gmane.org>; Wed, 09 Oct 2013 04:14:26 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        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:content-type;
        bh=FwDPne7oxLNOT3B4ZvhAiVvxG+f3lVVLMFVK1MP0jNE=;
        b=cvS5D2ApZ/dYzW7jttKwW9q0jxpWffJwiJBpdotnkX8HLUMu8zzJbsXsWXCDDRzqgH
         gVVyIuPdLtaMa2NdP/M26Ddy/sNPlIferhOgR9l1g1Flyf3g2KKgOU2v7ovB7wghZCnB
         IKH0mfh2gZ2NXF03HcJ4dIhJAD9OinSVwCnE/p6oYcwAduh7UjRdNQFKZsEw47v4pjjY
         vvtYVT/KwJJsCUTnpxtuC+Jl4dRbEAdtFMIoxpCuG2tFvxGkYQQDsvIDzVIwv7+iwsNr
         scsxNxsL2/V8Fliw9SLmEg3SK36wbOBQe3h/1H/gtOQZdlfJZNNKpEVoUloKZGpuHSUs
         6doQ==
X-Received: by 10.180.73.112 with SMTP id k16mr942773wiv.5.1381317265930;
        Wed, 09 Oct 2013 04:14:25 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.180.91.226 with SMTP id ch2ls1383977wib.30.canary; Wed, 09 Oct
 2013 04:14:24 -0700 (PDT)
X-Received: by 10.180.13.113 with SMTP id g17mr2218516wic.19.1381317264677;
        Wed, 09 Oct 2013 04:14:24 -0700 (PDT)
Original-Received: from mail-wi0-x231.google.com (mail-wi0-x231.google.com [2a00:1450:400c:c05::231])
        by mx.google.com with ESMTPS id cw7si15766424wjc.165.1969.12.31.16.00.00
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Wed, 09 Oct 2013 04:14:24 -0700 (PDT)
Received-SPF: pass (google.com: domain of lefevreremy@gmail.com designates 2a00:1450:400c:c05::231 as permitted sender) client-ip=2a00:1450:400c:c05::231;
Original-Received: by mail-wi0-f177.google.com with SMTP id hq15so742299wib.10
        for <std-proposals@isocpp.org>; Wed, 09 Oct 2013 04:14:24 -0700 (PDT)
X-Received: by 10.194.122.168 with SMTP id lt8mr33835wjb.76.1381317264262;
 Wed, 09 Oct 2013 04:14:24 -0700 (PDT)
Original-Received: by 10.194.192.33 with HTTP; Wed, 9 Oct 2013 04:13:44 -0700 (PDT)
In-Reply-To: <CAOpASk4SNY8aQJ8ijO7xNjBtTvLncHySJ9kWeyPyF+n3=zFtiA@mail.gmail.com>
X-Original-Sender: lefevreremy@gmail.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of lefevreremy@gmail.com designates 2a00:1450:400c:c05::231 as
 permitted sender) smtp.mail=lefevreremy@gmail.com;       dkim=pass
 header.i=@gmail.com;       dmarc=pass (p=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: <http://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:7228
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/7228>

--089e011777afdbcbf604e84cfc84
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Furthermore, the counting_iterator doesn't always work. For example, if
find/find_if reaches the end of the range, the behavior is to return the
iterator named "last" passed in argument. But this iterator has not been
incremented by the algorithm and its counter is set to 0 instead of the
distance between first and last, leading to a wrong result.


2013/10/9 R=E9my Lefevre <lefevreremy@gmail.com>

> Good point for a counting iterator ! Unfortunately, the one in boost
> library doesn't fit our need here and I am not aware of any counting
> iterator in C++14.
>
>
> 2013/10/9 Peter Sommerlad <Peter.Sommerlad@hsr.ch>
>
>> +1 for composability instead of proliferation...
>>
>> Do we have boost's counting iterator adapter in c++14 or library TS?
>>
>> Sent from Peter Sommerlad's iPad
>>
>> On 09.10.2013, at 07:13, "Benjamin Lindley" <benjameslindley@gmail.com>
>> wrote:
>>
>> What about creating an iterator adapter instead?  One which keeps track
>> of how many times it has been incremented?
>>
>> typedef std::istream_iterator<int> base_t;
>> base_t ib(std::cin), ie;
>> std::counting_iterator<base_t> b(ib), e(ie);
>> auto p =3D std::find_if(b, e, pred);
>> std::cout << p.count();
>>
>> Then you could apply it to other algorithms besides find/find_if.
>>
>> On Tuesday, October 8, 2013 3:04:23 PM UTC-5, R=E9my Lefevre wrote:
>>>
>>> Hi,
>>>
>>> I thought about two new algorithms, that could be named "count_while"
>>> and "count_until". Here are their behavior:
>>>
>>> template <class InputIterator, class UnaryPredicate>
>>>
>>>
>>>
>>>
>>>   typename iterator_traits<InputIterator>**::difference_type
>>>
>>>
>>>
>>>
>>>     count_while (InputIterator first, InputIterator last, UnaryPredicat=
e pred)
>>>
>>>
>>>
>>> {
>>>   typename iterator_traits<InputIterator>**::difference_type ret =3D 0;
>>>
>>>
>>>
>>>
>>>   while (first!=3Dlast && pred(*first)) {
>>>
>>>
>>>
>>>
>>>     ++ret;
>>>     ++first;
>>>
>>>
>>>
>>>
>>>   }
>>>   return ret;
>>>
>>> }
>>>
>>>
>>> template <class InputIterator, class UnaryPredicate>
>>>
>>>
>>>
>>>
>>>   typename iterator_traits<InputIterator>**::difference_type
>>>
>>>
>>>
>>>
>>>     count_until (InputIterator first, InputIterator last, UnaryPredicat=
e pred)
>>>
>>>
>>>
>>> {
>>>
>>>   typename iterator_traits<InputIterator>**::difference_type ret =3D 0;
>>>
>>>
>>>
>>>
>>>   while (first!=3Dlast && !pred(*first)) {
>>>
>>>
>>>
>>>
>>>     ++ret;
>>>     ++first;
>>>
>>>
>>>
>>>
>>>   }
>>>   return ret;
>>>
>>>
>>> }
>>>
>>>
>>> What do you think about adding these two components to the algorithms
>>> library ?
>>>
>>  --
>>
>> ---
>> 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.
>> Visit this group at
>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>
>>  --
>>
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "ISO C++ Standard - Future Proposals" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/a/isocpp.org/d/topic/std-proposals/bXrQrkBw59c=
/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> std-proposals+unsubscribe@isocpp.org.
>> To post to this group, send email to std-proposals@isocpp.org.
>> Visit this group at
>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>
>
>

--=20

---=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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

--089e011777afdbcbf604e84cfc84
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Furthermore, the counting_iterator doesn&#39;t always work=
.. For example, if find/find_if reaches the end of the range, the behavior i=
s to return the iterator named &quot;last&quot; passed in argument. But thi=
s iterator has not been incremented by the algorithm and its counter is set=
 to 0 instead of the distance between first and last, leading to a wrong re=
sult.<br>

</div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">2013/10=
/9 R=E9my Lefevre <span dir=3D"ltr">&lt;<a href=3D"mailto:lefevreremy@gmail=
..com" target=3D"_blank">lefevreremy@gmail.com</a>&gt;</span><br><blockquote=
 class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc soli=
d;padding-left:1ex">

<div dir=3D"ltr">Good point for a counting iterator ! Unfortunately, the on=
e in boost library doesn&#39;t fit our need here and I am not aware of any =
counting iterator in C++14.<br></div><div class=3D"HOEnZb"><div class=3D"h5=
">

<div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">
2013/10/9 Peter Sommerlad <span dir=3D"ltr">&lt;<a href=3D"mailto:Peter.Som=
merlad@hsr.ch" target=3D"_blank">Peter.Sommerlad@hsr.ch</a>&gt;</span><br><=
blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px=
 #ccc solid;padding-left:1ex">


<div dir=3D"auto"><div>+1 for composability instead of proliferation...</di=
v><div><br></div><div>Do we have boost&#39;s counting iterator adapter in c=
++14 or library TS?<br><br>Sent from Peter Sommerlad&#39;s<span>=A0iPad</sp=
an></div>


<div><div><div><br>On 09.10.2013, at 07:13, &quot;Benjamin Lindley&quot; &l=
t;<a href=3D"mailto:benjameslindley@gmail.com" target=3D"_blank">benjamesli=
ndley@gmail.com</a>&gt; wrote:<br><br></div></div></div><blockquote type=3D=
"cite">


<div><div><div><div dir=3D"ltr">What about creating an iterator adapter ins=
tead?=A0 One which keeps track of how many times it has been incremented?<b=
r><br><div 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><div><span style=3D"color:#008">typedef</span><span> std</span><span =
style=3D"color:#660">::</span><span>istream_iterator</span><span style=3D"c=
olor:#080">&lt;int&gt;</span><span> base_t</span><span style=3D"color:#660"=
>;</span><span><br>


base_t ib</span><span style=3D"color:#660">(</span><span>std</span><span st=
yle=3D"color:#660">::</span><span>cin</span><span style=3D"color:#660">),</=
span><span> ie</span><span style=3D"color:#660">;</span><span><br>
std</span><span style=3D"color:#660">::</span><span>counting_iterator</span=
><span style=3D"color:#080">&lt;base_t&gt;</span><span> b</span><span style=
=3D"color:#660">(</span><span>ib</span><span style=3D"color:#660">),</span>=
<span> e</span><span style=3D"color:#660">(</span><span>ie</span><span styl=
e=3D"color:#660">);</span><span><br>


</span><span style=3D"color:#008">auto</span><span> p </span><span style=3D=
"color:#660">=3D</span><span> std</span><span style=3D"color:#660">::</span=
><span>find_if</span><span style=3D"color:#660">(</span><span>b</span><span=
 style=3D"color:#660">,</span><span> e</span><span style=3D"color:#660">,</=
span><span> pred</span><span style=3D"color:#660">);</span><span><br>


std</span><span style=3D"color:#660">::</span><span>cout </span><span style=
=3D"color:#660">&lt;&lt;</span><span> p</span><span style=3D"color:#660">.<=
/span><span>count</span><span style=3D"color:#660">();</span><span><br>
</span></div></code></div><br>Then you could apply it to other algorithms b=
esides find/find_if.<br><br>On Tuesday, October 8, 2013 3:04:23 PM UTC-5, R=
=E9my Lefevre wrote:<blockquote class=3D"gmail_quote" style=3D"margin:0;mar=
gin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir=3D"ltr">Hi,<br><br>I thought about two new algorithms, that could =
be named &quot;count_while&quot; and &quot;count_until&quot;. Here are thei=
r behavior:<br><br><div style=3D"background-color:rgb(250,250,250);border-c=
olor:rgb(187,187,187);border-style:solid;border-width:1px;word-wrap:break-w=
ord">




<code><div><pre><code><var><span style=3D"color:rgb(0,0,136)">template</spa=
n></var><span> </span><span style=3D"color:rgb(102,102,0)">&lt;</span><var>=
<span style=3D"color:rgb(0,0,136)">class</span></var><span> </span><span st=
yle=3D"color:rgb(102,0,102)">InputIterator</span><span style=3D"color:rgb(1=
02,102,0)">,</span><span> </span><var><span style=3D"color:rgb(0,0,136)">cl=
ass</span></var><span> </span><span style=3D"color:rgb(102,0,102)">UnaryPre=
dicate</span><span style=3D"color:rgb(102,102,0)">&gt;</span><span><br>




=A0 </span><var><span style=3D"color:rgb(0,0,136)">typename</span></var><sp=
an> iterator_traits</span><span style=3D"color:rgb(102,102,0)">&lt;</span><=
span style=3D"color:rgb(102,0,102)">InputIterator</span><span style=3D"colo=
r:rgb(102,102,0)">&gt;<u></u>::</span><span>difference_type<br>




=A0 =A0 count_while </span><span style=3D"color:rgb(102,102,0)">(</span><sp=
an style=3D"color:rgb(102,0,102)">InputIterator</span><span> first</span><s=
pan style=3D"color:rgb(102,102,0)">,</span><span> </span><span style=3D"col=
or:rgb(102,0,102)">InputIterator</span><span> </span><span style=3D"color:r=
gb(0,0,136)">last</span><span style=3D"color:rgb(102,102,0)">,</span><span>=
 </span><span style=3D"color:rgb(102,0,102)">UnaryPredicate</span><span> pr=
ed</span><span style=3D"color:rgb(102,102,0)">)</span><span><br>




</span><span style=3D"color:rgb(102,102,0)">{</span><span><br>=A0 </span><v=
ar><span style=3D"color:rgb(0,0,136)">typename</span></var><span> iterator_=
traits</span><span style=3D"color:rgb(102,102,0)">&lt;</span><span style=3D=
"color:rgb(102,0,102)">InputIterator</span><span style=3D"color:rgb(102,102=
,0)">&gt;<u></u>::</span><span>difference_type ret </span><span style=3D"co=
lor:rgb(102,102,0)">=3D</span><span> </span><span style=3D"color:rgb(0,102,=
102)">0</span><span style=3D"color:rgb(102,102,0)">;</span><span><br>




=A0 </span><var><span style=3D"color:rgb(0,0,136)">while</span></var><span>=
 </span><span style=3D"color:rgb(102,102,0)">(</span><span>first</span><spa=
n style=3D"color:rgb(102,102,0)">!=3D</span><span style=3D"color:rgb(0,0,13=
6)">last</span><var><span> </span><span style=3D"color:rgb(102,102,0)">&amp=
;&amp;</span><span> </span></var><var></var><span>pred</span><span style=3D=
"color:rgb(102,102,0)">(*</span><span>first</span><span style=3D"color:rgb(=
102,102,0)">))</span><span> </span><span style=3D"color:rgb(102,102,0)">{</=
span><span><br>




=A0 =A0 </span><span style=3D"color:rgb(102,102,0)">++</span><span>ret</spa=
n><span style=3D"color:rgb(102,102,0)">;</span><span><br>=A0 =A0 </span><sp=
an style=3D"color:rgb(102,102,0)">++</span><span>first</span><span style=3D=
"color:rgb(102,102,0)">;</span><span><br>




=A0 </span><span style=3D"color:rgb(102,102,0)">}</span><span><br>=A0 </spa=
n><var><span style=3D"color:rgb(0,0,136)">return</span></var><span> ret</sp=
an><span style=3D"color:rgb(102,102,0)">;</span><span><br>

</span><span style=3D"color:rgb(102,102,0)">}</span></code></pre></div></co=
de></div><br><div style=3D"background-color:rgb(250,250,250);border-color:r=
gb(187,187,187);border-style:solid;border-width:1px;word-wrap:break-word">




<code><div><pre><code><var><span style=3D"color:rgb(0,0,136)">template</spa=
n></var><span> </span><span style=3D"color:rgb(102,102,0)">&lt;</span><var>=
<span style=3D"color:rgb(0,0,136)">class</span></var><span> </span><span st=
yle=3D"color:rgb(102,0,102)">InputIterator</span><span style=3D"color:rgb(1=
02,102,0)">,</span><span> </span><var><span style=3D"color:rgb(0,0,136)">cl=
ass</span></var><span> </span><span style=3D"color:rgb(102,0,102)">UnaryPre=
dicate</span><span style=3D"color:rgb(102,102,0)">&gt;</span><span><br>




=A0 </span><var><span style=3D"color:rgb(0,0,136)">typename</span></var><sp=
an> iterator_traits</span><span style=3D"color:rgb(102,102,0)">&lt;</span><=
span style=3D"color:rgb(102,0,102)">InputIterator</span><span style=3D"colo=
r:rgb(102,102,0)">&gt;<u></u>::</span><span>difference_type<br>




=A0 =A0 count_until </span><span style=3D"color:rgb(102,102,0)">(</span><sp=
an style=3D"color:rgb(102,0,102)">InputIterator</span><span> first</span><s=
pan style=3D"color:rgb(102,102,0)">,</span><span> </span><span style=3D"col=
or:rgb(102,0,102)">InputIterator</span><span> </span><span style=3D"color:r=
gb(0,0,136)">last</span><span style=3D"color:rgb(102,102,0)">,</span><span>=
 </span><span style=3D"color:rgb(102,0,102)">UnaryPredicate</span><span> pr=
ed</span><span style=3D"color:rgb(102,102,0)">)</span><span><br>




</span><span style=3D"color:rgb(102,102,0)">{</span><span><br><code><pre><c=
ode><span>=A0 </span><var><span style=3D"color:rgb(0,0,136)">typename</span=
></var><span> iterator_traits</span><span style=3D"color:rgb(102,102,0)">&l=
t;</span><span style=3D"color:rgb(102,0,102)">InputIterator</span><span sty=
le=3D"color:rgb(102,102,0)">&gt;<u></u>::</span><span>difference_type ret <=
/span><span style=3D"color:rgb(102,102,0)">=3D</span><span> </span><span st=
yle=3D"color:rgb(0,102,102)">0</span><span style=3D"color:rgb(102,102,0)">;=
</span><span><br>




=A0 </span><var><span style=3D"color:rgb(0,0,136)">while</span></var><span>=
 </span><span style=3D"color:rgb(102,102,0)">(</span><span>first</span><spa=
n style=3D"color:rgb(102,102,0)">!=3D</span><span style=3D"color:rgb(0,0,13=
6)">last</span><var><span> </span><span style=3D"color:rgb(102,102,0)">&amp=
;&amp;</span><span> </span></var><var></var><span>!pred</span><span style=
=3D"color:rgb(102,102,0)">(*</span><span>first</span><span style=3D"color:r=
gb(102,102,0)">))</span><span> </span><span style=3D"color:rgb(102,102,0)">=
{</span><span><br>




=A0 =A0 </span><span style=3D"color:rgb(102,102,0)">++</span><span>ret</spa=
n><span style=3D"color:rgb(102,102,0)">;</span><span><br>=A0 =A0 </span><sp=
an style=3D"color:rgb(102,102,0)">++</span><span>first</span><span style=3D=
"color:rgb(102,102,0)">;</span><span><br>




=A0 </span><span style=3D"color:rgb(102,102,0)">}</span><span><br>=A0 </spa=
n><var><span style=3D"color:rgb(0,0,136)">return</span></var><span> ret;<br=
>

}</span><span style=3D"color:rgb(102,102,0)"></span></code></pre></code></s=
pan></code><code><span></span><span style=3D"color:rgb(102,102,0)"></span><=
/code></pre></div></code></div>

<br>What do you think about adding these two components to the algorithms l=
ibrary ?</div>
</blockquote></div>

<p></p>

-- <br>
=A0<br>
--- <br></div></div>
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>.<div><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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><div><div>

<p></p>

-- <br>
=A0<br>
--- <br>
You received this message because you are subscribed to a topic in the Goog=
le Groups &quot;ISO C++ Standard - Future Proposals&quot; group.<br>
To unsubscribe from this topic, visit <a href=3D"https://groups.google.com/=
a/isocpp.org/d/topic/std-proposals/bXrQrkBw59c/unsubscribe" target=3D"_blan=
k">https://groups.google.com/a/isocpp.org/d/topic/std-proposals/bXrQrkBw59c=
/unsubscribe</a>.<br>



To unsubscribe from this group and all its topics, send an email to <a href=
=3D"mailto:std-proposals%2Bunsubscribe@isocpp.org" target=3D"_blank">std-pr=
oposals+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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>

<p></p>

-- <br />
&nbsp;<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 std-proposals+unsubscribe@isocpp.org.<br />
To post to this group, send email to std-proposals@isocpp.org.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--089e011777afdbcbf604e84cfc84--

.
