Topic: Binary search operations should be defined in


Author: "D. B." <db0451@gmail.com>
Date: Sat, 1 Oct 2016 14:42:39 +0100
Raw View
--001a114d3c8466fce9053dcde272
Content-Type: text/plain; charset=UTF-8

> is there a good reason 'value' to be separate template parameter,
independent from the iterator type?

Yes: pointers do not have ::value_type.

--
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/CACGiwhFEXpaM77fiFGmXaKiY%2BjgTtd_6W2O5WiEvydWE05%2BEFQ%40mail.gmail.com.

--001a114d3c8466fce9053dcde272
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">&gt; is there a good reason &#39;value&#39; to be separate=
 template parameter, independent from the iterator type?<br><br>Yes: pointe=
rs do not have ::value_type.<br></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/CACGiwhFEXpaM77fiFGmXaKiY%2BjgTtd_6W2=
O5WiEvydWE05%2BEFQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CACGiwhFEXpaM=
77fiFGmXaKiY%2BjgTtd_6W2O5WiEvydWE05%2BEFQ%40mail.gmail.com</a>.<br />

--001a114d3c8466fce9053dcde272--

.


Author: "D. B." <db0451@gmail.com>
Date: Sat, 1 Oct 2016 14:44:10 +0100
Raw View
--001a114b6fe4df6178053dcde72e
Content-Type: text/plain; charset=UTF-8

On Sat, Oct 1, 2016 at 2:42 PM, D. B. <db0451@gmail.com> wrote:

> > is there a good reason 'value' to be separate template parameter,
> independent from the iterator type?
>
> Yes: pointers do not have ::value_type.
>

....which doesn't matter because we're using iterator_traits, which should
be able to be specialised for pointers.

I'll go back to sleep.

--
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/CACGiwhHW-VDju3fWUnMyjtM36aj8WnbRxyWMRfDC5gnWCs_Fsw%40mail.gmail.com.

--001a114b6fe4df6178053dcde72e
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On S=
at, Oct 1, 2016 at 2:42 PM, D. B. <span dir=3D"ltr">&lt;<a href=3D"mailto:d=
b0451@gmail.com" target=3D"_blank">db0451@gmail.com</a>&gt;</span> wrote:<b=
r><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:=
1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><span class=3D"">&gt; is =
there a good reason &#39;value&#39; to be separate template parameter, inde=
pendent from the iterator type?<br><br></span>Yes: pointers do not have ::v=
alue_type.<br></div></blockquote><div><br></div><div>...which doesn&#39;t m=
atter because we&#39;re using iterator_traits, which should be able to be s=
pecialised for pointers. <br></div></div><br></div><div class=3D"gmail_extr=
a">I&#39;ll go back to sleep.<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/CACGiwhHW-VDju3fWUnMyjtM36aj8WnbRxyWM=
RfDC5gnWCs_Fsw%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">htt=
ps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CACGiwhHW-VDju3fW=
UnMyjtM36aj8WnbRxyWMRfDC5gnWCs_Fsw%40mail.gmail.com</a>.<br />

--001a114b6fe4df6178053dcde72e--

.


Author: =?UTF-8?Q?Micha=C5=82_Dominiak?= <griwes@griwes.info>
Date: Sat, 01 Oct 2016 13:53:18 +0000
Raw View
--94eb2c0574b62085e3053dce09d5
Content-Type: text/plain; charset=UTF-8

Using that instead of just another template would result in enforcing a
conversion if the value argument is of a different type than the value_type
of the iterator, while currently it can use specialized overloads of the
comparator for the `::value_type` and `T` without doing any conversion (if
they exist).

On Sat, Oct 1, 2016 at 3:44 PM D. B. <db0451@gmail.com> wrote:

On Sat, Oct 1, 2016 at 2:42 PM, D. B. <db0451@gmail.com> wrote:

> is there a good reason 'value' to be separate template parameter,
independent from the iterator type?

Yes: pointers do not have ::value_type.


....which doesn't matter because we're using iterator_traits, which should
be able to be specialised for pointers.

I'll go back to sleep.

--
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/CACGiwhHW-VDju3fWUnMyjtM36aj8WnbRxyWMRfDC5gnWCs_Fsw%40mail.gmail.com
<https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CACGiwhHW-VDju3fWUnMyjtM36aj8WnbRxyWMRfDC5gnWCs_Fsw%40mail.gmail.com?utm_medium=email&utm_source=footer>
..

--
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/CAPCFJdShVo05detBjuWy8EeHr2KTxnPX5jRgT3XJ-J%3DNpkReZA%40mail.gmail.com.

--94eb2c0574b62085e3053dce09d5
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr" class=3D"gmail_msg">Using that instead of=
 just another template would result in enforcing a conversion if the value =
argument is of a different type than the value_type of the iterator, while =
currently it can use specialized overloads of the comparator for the `::val=
ue_type` and `T` without doing any conversion (if they exist).</div><br cla=
ss=3D"gmail_msg"><div class=3D"gmail_quote gmail_msg"><div dir=3D"ltr" clas=
s=3D"gmail_msg">On Sat, Oct 1, 2016 at 3:44 PM D. B. &lt;<a href=3D"mailto:=
db0451@gmail.com" class=3D"gmail_msg" target=3D"_blank">db0451@gmail.com</a=
>&gt; wrote:<br class=3D"gmail_msg"></div><blockquote class=3D"gmail_quote =
gmail_msg" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le=
ft:1ex"><div dir=3D"ltr" class=3D"gmail_msg"><div class=3D"gmail_extra gmai=
l_msg"><div class=3D"gmail_quote gmail_msg">On Sat, Oct 1, 2016 at 2:42 PM,=
 D. B. <span dir=3D"ltr" class=3D"gmail_msg">&lt;<a href=3D"mailto:db0451@g=
mail.com" class=3D"gmail_msg" target=3D"_blank">db0451@gmail.com</a>&gt;</s=
pan> wrote:<br class=3D"gmail_msg"><blockquote class=3D"gmail_quote gmail_m=
sg" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"=
><div dir=3D"ltr" class=3D"gmail_msg"><span class=3D"gmail_msg">&gt; is the=
re a good reason &#39;value&#39; to be separate template parameter, indepen=
dent from the iterator type?<br class=3D"gmail_msg"><br class=3D"gmail_msg"=
></span>Yes: pointers do not have ::value_type.<br class=3D"gmail_msg"></di=
v></blockquote><div class=3D"gmail_msg"><br class=3D"gmail_msg"></div></div=
></div></div><div dir=3D"ltr" class=3D"gmail_msg"><div class=3D"gmail_extra=
 gmail_msg"><div class=3D"gmail_quote gmail_msg"><div class=3D"gmail_msg">.=
...which doesn&#39;t matter because we&#39;re using iterator_traits, which s=
hould be able to be specialised for pointers. <br class=3D"gmail_msg"></div=
></div><br class=3D"gmail_msg"></div><div class=3D"gmail_extra gmail_msg">I=
&#39;ll go back to sleep.<br class=3D"gmail_msg"></div></div>

<p class=3D"gmail_msg"></p>

-- <br class=3D"gmail_msg">
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br class=3D"gmail_msg=
">
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" class=3D"gm=
ail_msg" target=3D"_blank">std-proposals+unsubscribe@isocpp.org</a>.<br cla=
ss=3D"gmail_msg">
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" class=3D"gmail_msg" target=3D"_blank">std-proposals@isocpp.org</a>.<b=
r class=3D"gmail_msg">
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CACGiwhHW-VDju3fWUnMyjtM36aj8WnbRxyWM=
RfDC5gnWCs_Fsw%40mail.gmail.com?utm_medium=3Demail&amp;utm_source=3Dfooter"=
 class=3D"gmail_msg" target=3D"_blank">https://groups.google.com/a/isocpp.o=
rg/d/msgid/std-proposals/CACGiwhHW-VDju3fWUnMyjtM36aj8WnbRxyWMRfDC5gnWCs_Fs=
w%40mail.gmail.com</a>.<br class=3D"gmail_msg">
</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/CAPCFJdShVo05detBjuWy8EeHr2KTxnPX5jRg=
T3XJ-J%3DNpkReZA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAPCFJdShVo05de=
tBjuWy8EeHr2KTxnPX5jRgT3XJ-J%3DNpkReZA%40mail.gmail.com</a>.<br />

--94eb2c0574b62085e3053dce09d5--

.


Author: mihailnajdenov@gmail.com
Date: Sat, 1 Oct 2016 07:34:48 -0700 (PDT)
Raw View
------=_Part_270_1281338804.1475332488834
Content-Type: multipart/alternative;
 boundary="----=_Part_271_1624317488.1475332488834"

------=_Part_271_1624317488.1475332488834
Content-Type: text/plain; charset=UTF-8

I see, this makes this possible

std::vector<pair<int, string>> c;
....
std::lower_bound(std::cbegin(c), std::cend(c), 12 //< search for int in a
list of pairs
, [](pair<int, string> a, int b){ return a.first < b; });

This is weird, but useful nevertheless.

--
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/a2b7820a-6ad8-47d2-b6bd-48c8b3abd1d6%40isocpp.org.

------=_Part_271_1624317488.1475332488834
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I see, this makes this possible=C2=A0<div><br></div><div><=
div class=3D"prettyprint" style=3D"background-color: rgb(250, 250, 250); bo=
rder-color: rgb(187, 187, 187); border-style: solid; border-width: 1px; wor=
d-wrap: break-word;"><code class=3D"prettyprint"><div class=3D"subprettypri=
nt"><font color=3D"#660066"><span style=3D"color: #000;" class=3D"styled-by=
-prettify">std</span><span style=3D"color: #660;" class=3D"styled-by-pretti=
fy">::</span><span style=3D"color: #000;" class=3D"styled-by-prettify">vect=
or</span><span style=3D"color: #660;" class=3D"styled-by-prettify">&lt;</sp=
an><span style=3D"color: #000;" class=3D"styled-by-prettify">pair</span><sp=
an style=3D"color: #660;" class=3D"styled-by-prettify">&lt;</span><span sty=
le=3D"color: #008;" class=3D"styled-by-prettify">int</span><span style=3D"c=
olor: #660;" class=3D"styled-by-prettify">,</span><span style=3D"color: #00=
0;" class=3D"styled-by-prettify"> </span><span style=3D"color: #008;" class=
=3D"styled-by-prettify">string</span><span style=3D"color: #660;" class=3D"=
styled-by-prettify">&gt;&gt;</span><span style=3D"color: #000;" class=3D"st=
yled-by-prettify"> c</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><span style=3D"color: #000;" class=3D"styled-by-prettify"><br>std</spa=
n><span style=3D"color: #660;" class=3D"styled-by-prettify">::</span><span =
style=3D"color: #000;" class=3D"styled-by-prettify">lower_bound</span><span=
 style=3D"color: #660;" class=3D"styled-by-prettify">(</span><span style=3D=
"color: #000;" class=3D"styled-by-prettify">std</span><span style=3D"color:=
 #660;" class=3D"styled-by-prettify">::</span><span style=3D"color: #000;" =
class=3D"styled-by-prettify">cbegin</span><span style=3D"color: #660;" clas=
s=3D"styled-by-prettify">(</span><span style=3D"color: #000;" class=3D"styl=
ed-by-prettify">c</span><span style=3D"color: #660;" class=3D"styled-by-pre=
ttify">),</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> =
std</span><span style=3D"color: #660;" class=3D"styled-by-prettify">::</spa=
n><span style=3D"color: #000;" class=3D"styled-by-prettify">cend</span><spa=
n style=3D"color: #660;" class=3D"styled-by-prettify">(</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify">c</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: #066;" class=3D=
"styled-by-prettify">12</span><span style=3D"color: #000;" class=3D"styled-=
by-prettify"> </span><span style=3D"color: #800;" class=3D"styled-by-pretti=
fy">//&lt; search for int in a list of pairs</span><span style=3D"color: #0=
00;" class=3D"styled-by-prettify"><br></span><span style=3D"color: #660;" c=
lass=3D"styled-by-prettify">,</span><span style=3D"color: #000;" class=3D"s=
tyled-by-prettify"> </span><span style=3D"color: #660;" class=3D"styled-by-=
prettify">[](</span></font><span style=3D"color: #000;" class=3D"styled-by-=
prettify">pair</span><span style=3D"color: #660;" class=3D"styled-by-pretti=
fy">&lt;</span><span style=3D"color: #008;" class=3D"styled-by-prettify">in=
t</span><span style=3D"color: #660;" class=3D"styled-by-prettify">,</span><=
span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span styl=
e=3D"color: #008;" class=3D"styled-by-prettify">string</span><span style=3D=
"color: #660;" class=3D"styled-by-prettify">&gt;</span><span style=3D"color=
: #000;" class=3D"styled-by-prettify"> a</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: #008;" class=3D"styled-b=
y-prettify">int</span><span style=3D"color: #000;" class=3D"styled-by-prett=
ify"> b</span><span style=3D"color: #660;" class=3D"styled-by-prettify">){<=
/span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><sp=
an style=3D"color: #008;" class=3D"styled-by-prettify">return</span><span s=
tyle=3D"color: #000;" class=3D"styled-by-prettify"> a</span><span style=3D"=
color: #660;" class=3D"styled-by-prettify">.</span><span style=3D"color: #0=
00;" class=3D"styled-by-prettify">first </span><span style=3D"color: #660;"=
 class=3D"styled-by-prettify">&lt;</span><span style=3D"color: #000;" class=
=3D"styled-by-prettify"> b</span><span style=3D"color: #660;" class=3D"styl=
ed-by-prettify">;</span><span style=3D"color: #000;" class=3D"styled-by-pre=
ttify"> </span><span style=3D"color: #660;" class=3D"styled-by-prettify">})=
;</span></div></code></div><br>This is weird, but useful nevertheless.=C2=
=A0</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/a2b7820a-6ad8-47d2-b6bd-48c8b3abd1d6%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/a2b7820a-6ad8-47d2-b6bd-48c8b3abd1d6=
%40isocpp.org</a>.<br />

------=_Part_271_1624317488.1475332488834--

------=_Part_270_1281338804.1475332488834--

.


Author: andrew.n.sutton@gmail.com
Date: Thu, 6 Oct 2016 10:46:02 -0700 (PDT)
Raw View
------=_Part_207_1746552777.1475775962243
Content-Type: multipart/alternative;
 boundary="----=_Part_208_1118289424.1475775962243"

------=_Part_208_1118289424.1475775962243
Content-Type: text/plain; charset=UTF-8


>
>
> should really be
> template< class ForwardIt>
> ForwardIt lower_bound( ForwardIt first, ForwardIt last, const
> iterator_traits<ForwardIt>::value_type& value );
>
>
>
Because that would force a conversion to the value type even when one is
not needed. Consider binary_search in an array of strings where the value
argument is a "string".

--
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/7ecf4ad8-d07c-483d-8509-e81ba206b8bd%40isocpp.org.

------=_Part_208_1118289424.1475775962243
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;bor=
der-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr"><div><br></di=
v><div>should really be<br><div><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><font color=3D"#660066"><span style=3D"color:#=
008">template</span><span style=3D"color:#660">&lt;</span><span style=3D"co=
lor:#000"> </span><span style=3D"color:#008">class</span><span style=3D"col=
or:#000"> </span><span style=3D"color:#606">ForwardIt</span><span style=3D"=
color:#660">&gt;</span><span style=3D"color:#000"> <br></span><span style=
=3D"color:#606">ForwardIt</span><span style=3D"color:#000"> lower_bound</sp=
an><span style=3D"color:#660">(</span><span style=3D"color:#000"> </span><s=
pan style=3D"color:#606">ForwardIt</span><span style=3D"color:#000"> first<=
/span><span style=3D"color:#660">,</span><span style=3D"color:#000"> </span=
><span style=3D"color:#606">ForwardIt</span><span style=3D"color:#000"> </s=
pan><span style=3D"color:#008">last</span><span style=3D"color:#660">,</spa=
n><span style=3D"color:#000"> </span><span style=3D"color:#008">const</span=
><span style=3D"color:#000"> iterator_traits</span><span style=3D"color:#66=
0">&lt;</span><span style=3D"color:#606">ForwardIt</span><span style=3D"col=
or:#660">&gt;::</span><span style=3D"color:#000">va<wbr>lue_type</span><spa=
n style=3D"color:#660">&amp;</span><span style=3D"color:#000"> value </span=
><span style=3D"color:#660">);</span></font><span style=3D"color:#000"><br>=
</span></div></code></div><br></div></div><div><br></div></div></blockquote=
><div><br></div><div>Because that would force a conversion to the value typ=
e even when one is not needed. Consider binary_search in an array of string=
s where the value argument is a &quot;string&quot;.</div><div><br></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/7ecf4ad8-d07c-483d-8509-e81ba206b8bd%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/7ecf4ad8-d07c-483d-8509-e81ba206b8bd=
%40isocpp.org</a>.<br />

------=_Part_208_1118289424.1475775962243--

------=_Part_207_1746552777.1475775962243--

.


Author: Marc <marc.glisse@gmail.com>
Date: Sat, 15 Oct 2016 12:14:21 -0700 (PDT)
Raw View
------=_Part_519_1451502856.1476558861543
Content-Type: multipart/alternative;
 boundary="----=_Part_520_149089812.1476558861544"

------=_Part_520_149089812.1476558861544
Content-Type: text/plain; charset=UTF-8

On Saturday, October 1, 2016 at 4:34:50 PM UTC+2, mihailn...@gmail.com
wrote:
>
> I see, this makes this possible
>
> std::vector<pair<int, string>> c;
> ...
> std::lower_bound(std::cbegin(c), std::cend(c), 12 //< search for int in a
> list of pairs
> , [](pair<int, string> a, int b){ return a.first < b; });
>
> This is weird, but useful nevertheless.
>

Note that we could still add your version as an overload of the current
one, or specify a default parameter:

template< class ForwardIt, class T = typename
iterator_traits<ForwardIt>::value_type>
ForwardIt lower_bound( ForwardIt first, ForwardIt last, const T& value );

to get the best of both worlds.

--
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/21147f1d-8f98-464c-907f-d8147ee75396%40isocpp.org.

------=_Part_520_149089812.1476558861544
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">On Saturday, October 1, 2016 at 4:34:50 PM UTC+2, mihailn.=
...@gmail.com 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">I see, this makes this possible=C2=A0<div><br></div><div><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><font color=
=3D"#660066"><span style=3D"color:#000">std</span><span style=3D"color:#660=
">::</span><span style=3D"color:#000">vector</span><span style=3D"color:#66=
0">&lt;</span><span style=3D"color:#000">pair</span><span style=3D"color:#6=
60">&lt;</span><span style=3D"color:#008">int</span><span style=3D"color:#6=
60">,</span><span style=3D"color:#000"> </span><span style=3D"color:#008">s=
tring</span><span style=3D"color:#660">&gt;&gt;</span><span style=3D"color:=
#000"> c</span><span style=3D"color:#660">;</span><span style=3D"color:#000=
"><br></span><span style=3D"color:#660">...</span><span style=3D"color:#000=
"><br>std</span><span style=3D"color:#660">::</span><span style=3D"color:#0=
00">lower_bound</span><span style=3D"color:#660">(</span><span style=3D"col=
or:#000">std</span><span style=3D"color:#660">::</span><span style=3D"color=
:#000">cbegin</span><span style=3D"color:#660">(</span><span style=3D"color=
:#000">c</span><span style=3D"color:#660"><wbr>),</span><span style=3D"colo=
r:#000"> std</span><span style=3D"color:#660">::</span><span style=3D"color=
:#000">cend</span><span style=3D"color:#660">(</span><span style=3D"color:#=
000">c</span><span style=3D"color:#660">),</span><span style=3D"color:#000"=
> </span><span style=3D"color:#066">12</span><span style=3D"color:#000"> </=
span><span style=3D"color:#800">//&lt; search for int in a list of pairs</s=
pan><span style=3D"color:#000"><br></span><span style=3D"color:#660">,</spa=
n><span style=3D"color:#000"> </span><span style=3D"color:#660">[](</span><=
/font><span style=3D"color:#000">pair</span><span style=3D"color:#660">&lt;=
</span><span style=3D"color:#008">int</span><span style=3D"color:#660">,</s=
pan><span style=3D"color:#000"> </span><span style=3D"color:#008">string</s=
pan><span style=3D"color:#660">&gt;</span><span style=3D"color:#000"> a</sp=
an><span style=3D"color:#660">,</span><span style=3D"color:#000"> </span><s=
pan style=3D"color:#008">int</span><span style=3D"color:#000"> b</span><spa=
n style=3D"color:#660">){</span><span style=3D"color:#000"> </span><span st=
yle=3D"color:#008">return</span><span style=3D"color:#000"> a</span><span s=
tyle=3D"color:#660">.</span><span style=3D"color:#000">first </span><span s=
tyle=3D"color:#660">&lt;</span><span style=3D"color:#000"> b</span><span st=
yle=3D"color:#660">;</span><span style=3D"color:#000"> </span><span style=
=3D"color:#660">});</span></div></code></div><br>This is weird, but useful =
nevertheless.=C2=A0</div></div></blockquote><div><br>Note that we could sti=
ll add your version as an overload of the current one, or specify a default=
 parameter:<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><font color=3D"#000088"><span style=3D"color:#008">template=
</span><span style=3D"color:#660">&lt;</span><span style=3D"color:#000"> </=
span><span style=3D"color:#008">class</span><span style=3D"color:#000"> </s=
pan><span style=3D"color:#606">ForwardIt</span><span style=3D"color:#660">,=
</span><span style=3D"color:#000"> </span><span style=3D"color:#008">class<=
/span><span style=3D"color:#000"> T </span><span style=3D"color:#660">=3D t=
ypename iterator_traits&lt;ForwardIt&gt;::value_type&gt;</span><span style=
=3D"color:#000"> <br></span><span style=3D"color:#606">ForwardIt</span><spa=
n style=3D"color:#000"> lower_bound</span><span style=3D"color:#660">(</spa=
n><span style=3D"color:#000"> </span><span style=3D"color:#606">ForwardIt</=
span><span style=3D"color:#000"> first</span><span style=3D"color:#660">,</=
span><span style=3D"color:#000"> </span><span style=3D"color:#606">ForwardI=
t</span><span style=3D"color:#000"> </span><span style=3D"color:#008">last<=
/span><span style=3D"color:#660">,</span><span style=3D"color:#000"> </span=
><span style=3D"color:#008">const</span><span style=3D"color:#000"> T</span=
><span style=3D"color:#660">&amp;</span><span style=3D"color:#000"> value <=
/span><span style=3D"color:#660">);</span></font><span style=3D"color:#000"=
><br></span></div></code></div><br>to get the best of both worlds.<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/21147f1d-8f98-464c-907f-d8147ee75396%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/21147f1d-8f98-464c-907f-d8147ee75396=
%40isocpp.org</a>.<br />

------=_Part_520_149089812.1476558861544--

------=_Part_519_1451502856.1476558861543--

.


Author: Nicol Bolas <jmckesson@gmail.com>
Date: Sat, 15 Oct 2016 15:27:15 -0700 (PDT)
Raw View
------=_Part_1574_1668758231.1476570435798
Content-Type: multipart/alternative;
 boundary="----=_Part_1575_94817535.1476570435798"

------=_Part_1575_94817535.1476570435798
Content-Type: text/plain; charset=UTF-8



On Saturday, October 15, 2016 at 3:14:22 PM UTC-4, Marc wrote:
>
> On Saturday, October 1, 2016 at 4:34:50 PM UTC+2, mihailn...@gmail.com
> wrote:
>>
>> I see, this makes this possible
>>
>> std::vector<pair<int, string>> c;
>> ...
>> std::lower_bound(std::cbegin(c), std::cend(c), 12 //< search for int in
>> a list of pairs
>> , [](pair<int, string> a, int b){ return a.first < b; });
>>
>> This is weird, but useful nevertheless.
>>
>
> Note that we could still add your version as an overload of the current
> one, or specify a default parameter:
>
> template< class ForwardIt, class T = typename
> iterator_traits<ForwardIt>::value_type>
> ForwardIt lower_bound( ForwardIt first, ForwardIt last, const T& value );
>
> to get the best of both worlds.
>

What is the advantage of doing this?

--
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/64516755-6ad1-47ff-830e-475cf24e6d27%40isocpp.org.

------=_Part_1575_94817535.1476570435798
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Saturday, October 15, 2016 at 3:14:22 PM UTC-4,=
 Marc wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-lef=
t: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr">O=
n Saturday, October 1, 2016 at 4:34:50 PM UTC+2, <a>mihailn...@gmail.com</a=
> wrote:<blockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8=
ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">I see, thi=
s makes this possible=C2=A0<div><br></div><div><div style=3D"background-col=
or:rgb(250,250,250);border-color:rgb(187,187,187);border-style:solid;border=
-width:1px;word-wrap:break-word"><code><div><font color=3D"#660066"><span s=
tyle=3D"color:#000">std</span><span style=3D"color:#660">::</span><span sty=
le=3D"color:#000">vector</span><span style=3D"color:#660">&lt;</span><span =
style=3D"color:#000">pair</span><span style=3D"color:#660">&lt;</span><span=
 style=3D"color:#008">int</span><span style=3D"color:#660">,</span><span st=
yle=3D"color:#000"> </span><span style=3D"color:#008">string</span><span st=
yle=3D"color:#660">&gt;&gt;</span><span style=3D"color:#000"> c</span><span=
 style=3D"color:#660">;</span><span style=3D"color:#000"><br></span><span s=
tyle=3D"color:#660">...</span><span style=3D"color:#000"><br>std</span><spa=
n style=3D"color:#660">::</span><span style=3D"color:#000">lower_bound</spa=
n><span style=3D"color:#660">(</span><span style=3D"color:#000">std</span><=
span style=3D"color:#660">::</span><span style=3D"color:#000">cbegin</span>=
<span style=3D"color:#660">(</span><span style=3D"color:#000">c</span><span=
 style=3D"color:#660"><wbr>),</span><span style=3D"color:#000"> std</span><=
span style=3D"color:#660">::</span><span style=3D"color:#000">cend</span><s=
pan style=3D"color:#660">(</span><span style=3D"color:#000">c</span><span s=
tyle=3D"color:#660">),</span><span style=3D"color:#000"> </span><span style=
=3D"color:#066">12</span><span style=3D"color:#000"> </span><span style=3D"=
color:#800">//&lt; search for int in a list of pairs</span><span style=3D"c=
olor:#000"><br></span><span style=3D"color:#660">,</span><span style=3D"col=
or:#000"> </span><span style=3D"color:#660">[](</span></font><span style=3D=
"color:#000">pair</span><span style=3D"color:#660">&lt;</span><span style=
=3D"color:#008">int</span><span style=3D"color:#660">,</span><span style=3D=
"color:#000"> </span><span style=3D"color:#008">string</span><span style=3D=
"color:#660">&gt;</span><span style=3D"color:#000"> a</span><span style=3D"=
color:#660">,</span><span style=3D"color:#000"> </span><span style=3D"color=
:#008">int</span><span style=3D"color:#000"> b</span><span style=3D"color:#=
660">){</span><span style=3D"color:#000"> </span><span style=3D"color:#008"=
>return</span><span style=3D"color:#000"> a</span><span style=3D"color:#660=
">.</span><span style=3D"color:#000">first </span><span style=3D"color:#660=
">&lt;</span><span style=3D"color:#000"> b</span><span style=3D"color:#660"=
>;</span><span style=3D"color:#000"> </span><span style=3D"color:#660">});<=
/span></div></code></div><br>This is weird, but useful nevertheless.=C2=A0<=
/div></div></blockquote><div><br>Note that we could still add your version =
as an overload of the current one, or specify a default parameter:<br><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><fon=
t color=3D"#000088"><span style=3D"color:#008">template</span><span style=
=3D"color:#660">&lt;</span><span style=3D"color:#000"> </span><span style=
=3D"color:#008">class</span><span style=3D"color:#000"> </span><span style=
=3D"color:#606">ForwardIt</span><span style=3D"color:#660">,</span><span st=
yle=3D"color:#000"> </span><span style=3D"color:#008">class</span><span sty=
le=3D"color:#000"> T </span><span style=3D"color:#660">=3D typename iterato=
r_traits&lt;ForwardIt&gt;::<wbr>value_type&gt;</span><span style=3D"color:#=
000"> <br></span><span style=3D"color:#606">ForwardIt</span><span style=3D"=
color:#000"> lower_bound</span><span style=3D"color:#660">(</span><span sty=
le=3D"color:#000"> </span><span style=3D"color:#606">ForwardIt</span><span =
style=3D"color:#000"> first</span><span style=3D"color:#660">,</span><span =
style=3D"color:#000"> </span><span style=3D"color:#606">ForwardIt</span><sp=
an style=3D"color:#000"> </span><span style=3D"color:#008">last</span><span=
 style=3D"color:#660">,</span><span style=3D"color:#000"> </span><span styl=
e=3D"color:#008">const</span><span style=3D"color:#000"> T</span><span styl=
e=3D"color:#660">&amp;</span><span style=3D"color:#000"> value </span><span=
 style=3D"color:#660">);</span></font><span style=3D"color:#000"><br></span=
></div></code></div><br>to get the best of both worlds.<br></div></div></bl=
ockquote><div><br>What is the advantage of doing this? <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/64516755-6ad1-47ff-830e-475cf24e6d27%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/64516755-6ad1-47ff-830e-475cf24e6d27=
%40isocpp.org</a>.<br />

------=_Part_1575_94817535.1476570435798--

------=_Part_1574_1668758231.1476570435798--

.


Author: "T. C." <rs2740@gmail.com>
Date: Sat, 15 Oct 2016 22:43:13 -0700 (PDT)
Raw View
------=_Part_686_497556012.1476596593521
Content-Type: multipart/alternative;
 boundary="----=_Part_687_566291355.1476596593522"

------=_Part_687_566291355.1476596593522
Content-Type: text/plain; charset=UTF-8



On Saturday, October 15, 2016 at 6:27:16 PM UTC-4, Nicol Bolas wrote:
>
>
>
> On Saturday, October 15, 2016 at 3:14:22 PM UTC-4, Marc wrote:
>>
>> On Saturday, October 1, 2016 at 4:34:50 PM UTC+2, mihailn...@gmail.com
>> wrote:
>>>
>>> I see, this makes this possible
>>>
>>> std::vector<pair<int, string>> c;
>>> ...
>>> std::lower_bound(std::cbegin(c), std::cend(c), 12 //< search for int in
>>> a list of pairs
>>> , [](pair<int, string> a, int b){ return a.first < b; });
>>>
>>> This is weird, but useful nevertheless.
>>>
>>
>> Note that we could still add your version as an overload of the current
>> one, or specify a default parameter:
>>
>> template< class ForwardIt, class T = typename
>> iterator_traits<ForwardIt>::value_type>
>> ForwardIt lower_bound( ForwardIt first, ForwardIt last, const T& value );
>>
>> to get the best of both worlds.
>>
>
> What is the advantage of doing this?
>

It allows you to use braced-init-lists for the third argument (and fall
back to the default template argument for the type). I don't find the
motivation very convincing.

--
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/afd4d376-4288-48fc-9267-7e4132547323%40isocpp.org.

------=_Part_687_566291355.1476596593522
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Saturday, October 15, 2016 at 6:27:16 PM UTC-4,=
 Nicol Bolas 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"><br><br>On Saturday, October 15, 2016 at 3:14:22 PM UTC-4, Marc wrote=
:<blockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;bord=
er-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">On Saturday, Octo=
ber 1, 2016 at 4:34:50 PM UTC+2, <a>mihailn...@gmail.com</a> wrote:<blockqu=
ote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-left:1=
px #ccc solid;padding-left:1ex"><div dir=3D"ltr">I see, this makes this pos=
sible=C2=A0<div><br></div><div><div style=3D"background-color:rgb(250,250,2=
50);border-color:rgb(187,187,187);border-style:solid;border-width:1px;word-=
wrap:break-word"><code><div><font color=3D"#660066"><span style=3D"color:#0=
00">std</span><span style=3D"color:#660">::</span><span style=3D"color:#000=
">vector</span><span style=3D"color:#660">&lt;</span><span style=3D"color:#=
000">pair</span><span style=3D"color:#660">&lt;</span><span style=3D"color:=
#008">int</span><span style=3D"color:#660">,</span><span style=3D"color:#00=
0"> </span><span style=3D"color:#008">string</span><span style=3D"color:#66=
0">&gt;&gt;</span><span style=3D"color:#000"> c</span><span style=3D"color:=
#660">;</span><span style=3D"color:#000"><br></span><span style=3D"color:#6=
60">...</span><span style=3D"color:#000"><br>std</span><span style=3D"color=
:#660">::</span><span style=3D"color:#000">lower_bound</span><span style=3D=
"color:#660">(</span><span style=3D"color:#000">std</span><span style=3D"co=
lor:#660">::</span><span style=3D"color:#000">cbegin</span><span style=3D"c=
olor:#660">(</span><span style=3D"color:#000">c</span><span style=3D"color:=
#660"><wbr>),</span><span style=3D"color:#000"> std</span><span style=3D"co=
lor:#660">::</span><span style=3D"color:#000">cend</span><span style=3D"col=
or:#660">(</span><span style=3D"color:#000">c</span><span style=3D"color:#6=
60">),</span><span style=3D"color:#000"> </span><span style=3D"color:#066">=
12</span><span style=3D"color:#000"> </span><span style=3D"color:#800">//&l=
t; search for int in a list of pairs</span><span style=3D"color:#000"><br><=
/span><span style=3D"color:#660">,</span><span style=3D"color:#000"> </span=
><span style=3D"color:#660">[](</span></font><span style=3D"color:#000">pai=
r</span><span style=3D"color:#660">&lt;</span><span style=3D"color:#008">in=
t</span><span style=3D"color:#660">,</span><span style=3D"color:#000"> </sp=
an><span style=3D"color:#008">string</span><span style=3D"color:#660">&gt;<=
/span><span style=3D"color:#000"> a</span><span style=3D"color:#660">,</spa=
n><span style=3D"color:#000"> </span><span style=3D"color:#008">int</span><=
span style=3D"color:#000"> b</span><span style=3D"color:#660">){</span><spa=
n style=3D"color:#000"> </span><span style=3D"color:#008">return</span><spa=
n style=3D"color:#000"> a</span><span style=3D"color:#660">.</span><span st=
yle=3D"color:#000">first </span><span style=3D"color:#660">&lt;</span><span=
 style=3D"color:#000"> b</span><span style=3D"color:#660">;</span><span sty=
le=3D"color:#000"> </span><span style=3D"color:#660">});</span></div></code=
></div><br>This is weird, but useful nevertheless.=C2=A0</div></div></block=
quote><div><br>Note that we could still add your version as an overload of =
the current one, or specify a default parameter:<br><br><div style=3D"backg=
round-color:rgb(250,250,250);border-color:rgb(187,187,187);border-style:sol=
id;border-width:1px;word-wrap:break-word"><code><div><font color=3D"#000088=
"><span style=3D"color:#008">template</span><span style=3D"color:#660">&lt;=
</span><span style=3D"color:#000"> </span><span style=3D"color:#008">class<=
/span><span style=3D"color:#000"> </span><span style=3D"color:#606">Forward=
It</span><span style=3D"color:#660">,</span><span style=3D"color:#000"> </s=
pan><span style=3D"color:#008">class</span><span style=3D"color:#000"> T </=
span><span style=3D"color:#660">=3D typename iterator_traits&lt;ForwardIt&g=
t;::<wbr>value_type&gt;</span><span style=3D"color:#000"> <br></span><span =
style=3D"color:#606">ForwardIt</span><span style=3D"color:#000"> lower_boun=
d</span><span style=3D"color:#660">(</span><span style=3D"color:#000"> </sp=
an><span style=3D"color:#606">ForwardIt</span><span style=3D"color:#000"> f=
irst</span><span style=3D"color:#660">,</span><span style=3D"color:#000"> <=
/span><span style=3D"color:#606">ForwardIt</span><span style=3D"color:#000"=
> </span><span style=3D"color:#008">last</span><span style=3D"color:#660">,=
</span><span style=3D"color:#000"> </span><span style=3D"color:#008">const<=
/span><span style=3D"color:#000"> T</span><span style=3D"color:#660">&amp;<=
/span><span style=3D"color:#000"> value </span><span style=3D"color:#660">)=
;</span></font><span style=3D"color:#000"><br></span></div></code></div><br=
>to get the best of both worlds.<br></div></div></blockquote><div><br>What =
is the advantage of doing this? <br></div></div></blockquote><div><br></div=
><div>It allows you to use braced-init-lists for the third argument (and fa=
ll back to the default template argument for the type). I don&#39;t find th=
e motivation very convincing.</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/afd4d376-4288-48fc-9267-7e4132547323%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/afd4d376-4288-48fc-9267-7e4132547323=
%40isocpp.org</a>.<br />

------=_Part_687_566291355.1476596593522--

------=_Part_686_497556012.1476596593521--

.