Topic: Placeholder literals


Author: David Krauss <potswa@gmail.com>
Date: Sun, 24 Aug 2014 09:21:14 +0800
Raw View
--Apple-Mail=_EB93A71B-5D9C-4C78-8786-3EA3A5DF2EA7
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=ISO-8859-1

Why not add literal operator templates returning placeholders?

Compare:
 std::placeholders::_1 // old
 1param // new

Would it cause a problem to add it in the global namespace with no leading =
underscore? This saves the user a using directive and the name operator "" =
param is reserved to the language anyway. It should still be an ordinary pa=
rt of the language, declared by <functional>.

The name needs to be bikeshedded.

--=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/.

--Apple-Mail=_EB93A71B-5D9C-4C78-8786-3EA3A5DF2EA7
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=ISO-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dus-ascii"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode=
: space; -webkit-line-break: after-white-space;">Why not add literal operat=
or templates returning placeholders?<div><br></div><div>Compare:</div><div>=
<font face=3D"Courier"><span class=3D"Apple-tab-span" style=3D"white-space:=
pre"> </span>std::placeholders::_1 // old</font></div><div><font face=3D"Co=
urier"><span class=3D"Apple-tab-span" style=3D"white-space:pre"> </span>1pa=
ram // new</font></div><div><br></div><div>Would it cause a problem to add =
it in the global namespace with no leading underscore? This saves the user =
a <font face=3D"Courier">using</font> directive and the name <font face=3D"=
Courier">operator "" param</font> is reserved to the language anyway. It sh=
ould still be an ordinary part of the language, declared by <font face=3D"C=
ourier">&lt;functional&gt;</font>.</div><div><br></div><div>The name needs =
to be bikeshedded.</div><div><br></div></body></html>

<p></p>

-- <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+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 />
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 />

--Apple-Mail=_EB93A71B-5D9C-4C78-8786-3EA3A5DF2EA7--

.


Author: Gabriel Dos Reis <gdr@axiomatics.org>
Date: Sun, 24 Aug 2014 20:05:27 -0700
Raw View
David Krauss <potswa@gmail.com> writes:

| Why not add literal operator templates returning placeholders?
|
| Compare:
| std::placeholders::_1 // old
| 1param // new
|
| Would it cause a problem to add it in the global namespace with no
| leading underscore? This saves the user a using directive and the name
| operator "" param is reserved to the language anyway. It should still
| be an ordinary part of the language, declared by <functional>.
|
| The name needs to be bikeshedded.

In the long tradition of Unix-rooted practice, I would have expected $n
to figure prominently among the alternatives.

(Please don't tell me '$' isn't in the basic source character set.)

-- Gaby

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.


Author: David Krauss <potswa@gmail.com>
Date: Mon, 25 Aug 2014 11:14:58 +0800
Raw View
--Apple-Mail=_7D370FA3-17E9-4325-8F8E-FCEF08728068
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=ISO-8859-1


On 2014-08-25, at 11:05 AM, Gabriel Dos Reis <gdr@axiomatics.org> wrote:

> In the long tradition of Unix-rooted practice, I would have expected $n
> to figure prominently among the alternatives.
>=20
> (Please don't tell me '$' isn't in the basic source character set.)

Character sets aren't a showstopper per se given UCNs, but $ isn't among th=
e UCNs that may begin an identifier. (Some implementations do allow it as a=
 nonconforming extension, but I don't suppose a proposal to add it to [char=
name.allowed] would be uncontroversial.)

Also, we need a suffix to match the user-defined-literal grammar. 3$ doesn'=
t really look UNIXy.

--=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/.

--Apple-Mail=_7D370FA3-17E9-4325-8F8E-FCEF08728068
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=ISO-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dwindows-1252"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-=
mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 2014&=
ndash;08&ndash;25, at 11:05 AM, Gabriel Dos Reis &lt;<a href=3D"mailto:gdr@=
axiomatics.org">gdr@axiomatics.org</a>&gt; wrote:</div><br class=3D"Apple-i=
nterchange-newline"><blockquote type=3D"cite">In the long tradition of Unix=
-rooted practice, I would have expected $n<br>to figure prominently among t=
he alternatives.<br><br>(Please don't tell me '$' isn't in the basic source=
 character set.)<br></blockquote><div><br></div></div><div>Character sets a=
ren&rsquo;t a showstopper per se given UCNs, but <font face=3D"Courier">$</=
font> isn't among the UCNs that may begin an identifier. (Some implementati=
ons do allow it as a nonconforming extension, but I don&rsquo;t suppose a p=
roposal to add it to [charname.allowed] would be uncontroversial.)</div><di=
v><br></div><div>Also, we need a suffix to match the <i>user-defined-litera=
l</i> grammar. <font face=3D"Courier">3$</font> doesn&rsquo;t really look U=
NIXy.</div><div><br></div></body></html>

<p></p>

-- <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+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 />
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 />

--Apple-Mail=_7D370FA3-17E9-4325-8F8E-FCEF08728068--

.


Author: Gabriel Dos Reis <gdr@axiomatics.org>
Date: Sun, 24 Aug 2014 20:20:36 -0700
Raw View
David Krauss <potswa@gmail.com> writes:

| On 2014=E2=80=9308=E2=80=9325, at 11:05 AM, Gabriel Dos Reis <gdr@axiomat=
ics.org>
| wrote:
|=20
|     In the long tradition of Unix-rooted practice, I would have
|     expected $n
|     to figure prominently among the alternatives.
|    =20
|     (Please don't tell me '$' isn't in the basic source character
|     set.)
|    =20
|=20
| Character sets aren=E2=80=99t a showstopper per se given UCNs, but $ isn'=
t
| among the UCNs that may begin an identifier. (Some implementations do
| allow it as a nonconforming extension, but I don=E2=80=99t suppose a prop=
osal
| to add it to [charname.allowed] would be uncontroversial.)

I guess my point is we don't need to go to UCN -- they are in general
just obfuscations.  WG21 can decree that '$' is in the basic source
character set.  All mainstreams implementations will just be fine.
Question: which implementation will have difficulty accomodating that
and why?

Note: Allowing '$' as part of the basic character set does not
necessarily mean that it is OK in identifiers in users' name space.
Many of the existing characters in the basic source character set are of
that nature.

| Also, we need a suffix to match the user-defined-literal grammar. 3$
| doesn=E2=80=99t really look UNIXy.

Well, that may have to wait :-)

-- Gaby

--=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/.

.


Author: David Krauss <potswa@gmail.com>
Date: Mon, 25 Aug 2014 11:27:09 +0800
Raw View
--Apple-Mail=_175E4CA9-EA01-4E1E-8CDB-E8855173D279
Content-Type: text/plain; charset=ISO-8859-1


On 2014-08-25, at 11:20 AM, Gabriel Dos Reis <gdr@axiomatics.org> wrote:

> I guess my point is we don't need to go to UCN -- they are in general
> just obfuscations.  WG21 can decree that '$' is in the basic source
> character set.  All mainstreams implementations will just be fine.
> Question: which implementation will have difficulty accomodating that
> and why?

The source of all such evil (AFAIK) is XLC hosted on AIX constrained to an international subset of EBCDIC.

The Euro sign EURO is allowable, though :D . Obfuscation indeed.

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

--Apple-Mail=_175E4CA9-EA01-4E1E-8CDB-E8855173D279
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=ISO-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dwindows-1252"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-=
mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 2014&=
ndash;08&ndash;25, at 11:20 AM, Gabriel Dos Reis &lt;<a href=3D"mailto:gdr@=
axiomatics.org">gdr@axiomatics.org</a>&gt; wrote:</div><br class=3D"Apple-i=
nterchange-newline"><blockquote type=3D"cite">I guess my point is we don't =
need to go to UCN -- they are in general<br>just obfuscations. &nbsp;WG21 c=
an decree that '$' is in the basic source<br>character set. &nbsp;All mains=
treams implementations will just be fine.<br>Question: which implementation=
 will have difficulty accomodating that<br>and why?<br></blockquote><div><b=
r></div><div>The source of all such evil (AFAIK) is XLC hosted on AIX const=
rained to an international subset of EBCDIC.</div><div><br></div><div><div>=
The Euro sign&nbsp;<font face=3D"Courier">&euro;</font>&nbsp;is allowable, =
though :D . Obfuscation indeed.</div><div><br></div></div></div></body></ht=
ml>

<p></p>

-- <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+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 />
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 />

--Apple-Mail=_175E4CA9-EA01-4E1E-8CDB-E8855173D279--

.


Author: Richard Smith <richard@metafoo.co.uk>
Date: Sun, 24 Aug 2014 21:45:00 -0700
Raw View
--001a11c2d0567f02a205016cd943
Content-Type: text/plain; charset=UTF-8

On Sat, Aug 23, 2014 at 6:21 PM, David Krauss <potswa@gmail.com> wrote:

> Why not add literal operator templates returning placeholders?
>

Why not deprecate std::bind? Generic lambdas provide a better solution, and
we don't benefit from having two ways to do the same thing.


> Compare:
> std::placeholders::_1 // old
> 1param // new
>
> Would it cause a problem to add it in the global namespace with no leading
> underscore? This saves the user a using directive and the name operator
> "" param is reserved to the language anyway. It should still be an
> ordinary part of the language, declared by <functional>.
>
> The name needs to be bikeshedded.
>
>  --
>
> ---
> 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.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

--001a11c2d0567f02a205016cd943
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, Aug 23, 2014 at 6:21 PM, David Krauss <span dir=3D"ltr">&lt;<a href=3D"=
mailto:potswa@gmail.com" target=3D"_blank">potswa@gmail.com</a>&gt;</span> =
wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div style=3D"word-wrap:break-word">Why not =
add literal operator templates returning placeholders?</div></blockquote><d=
iv>
<br></div><div>Why not deprecate std::bind? Generic lambdas provide a bette=
r solution, and we don&#39;t benefit from having two ways to do the same th=
ing.</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style=3D"word-wrap:break-word"><div>Compare:</div><div><font face=3D"C=
ourier"><span style=3D"white-space:pre-wrap"> </span>std::placeholders::_1 =
// old</font></div><div><font face=3D"Courier"><span style=3D"white-space:p=
re-wrap"> </span>1param // new</font></div>
<div><br></div><div>Would it cause a problem to add it in the global namesp=
ace with no leading underscore? This saves the user a <font face=3D"Courier=
">using</font> directive and the name <font face=3D"Courier">operator &quot=
;&quot; param</font> is reserved to the language anyway. It should still be=
 an ordinary part of the language, declared by <font face=3D"Courier">&lt;f=
unctional&gt;</font>.</div>
<div><br></div><div>The name needs to be bikeshedded.</div><span class=3D"H=
OEnZb"><font color=3D"#888888"><div><br></div></font></span></div><span cla=
ss=3D"HOEnZb"><font color=3D"#888888">

<p></p>

-- <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+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>
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>
</font></span></blockquote></div><br></div></div>

<p></p>

-- <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+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 />
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 />

--001a11c2d0567f02a205016cd943--

.


Author: David Krauss <potswa@gmail.com>
Date: Mon, 25 Aug 2014 12:50:18 +0800
Raw View
--Apple-Mail=_429400B8-08BB-454E-8319-63B8D14CF017
Content-Type: text/plain; charset=ISO-8859-1


On 2014-08-25, at 12:45 PM, Richard Smith <richard@metafoo.co.uk> wrote:

> On Sat, Aug 23, 2014 at 6:21 PM, David Krauss <potswa@gmail.com> wrote:
> Why not add literal operator templates returning placeholders?
>
> Why not deprecate std::bind? Generic lambdas provide a better solution, and we don't benefit from having two ways to do the same thing.

Can't say I have a counterargument to that.

The last time I used bind was a while ago, to work around a GCC bug with non-generic lambdas in pack expansions. Currently my project doesn't build in GCC; it segfaults and reports an ICE pointing at a generic lambda. So, that's the use case I know :P .

The suggestion was only inspired by seeing a std::placeholder in a StackOverflow question, but the user was misguided and didn't need it.

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

--Apple-Mail=_429400B8-08BB-454E-8319-63B8D14CF017
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=ISO-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dwindows-1252"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-=
mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 2014&=
ndash;08&ndash;25, at 12:45 PM, Richard Smith &lt;<a href=3D"mailto:richard=
@metafoo.co.uk">richard@metafoo.co.uk</a>&gt; wrote:</div><br class=3D"Appl=
e-interchange-newline"><blockquote type=3D"cite"><div dir=3D"ltr"><div clas=
s=3D"gmail_extra"><div class=3D"gmail_quote">On Sat, Aug 23, 2014 at 6:21 P=
M, David Krauss <span dir=3D"ltr">&lt;<a href=3D"mailto:potswa@gmail.com" t=
arget=3D"_blank">potswa@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div style=3D"word-wrap:break-word">Why not =
add literal operator templates returning placeholders?</div></blockquote><d=
iv>
<br></div><div>Why not deprecate std::bind? Generic lambdas provide a bette=
r solution, and we don't benefit from having two ways to do the same thing.=
</div></div></div></div></blockquote><br></div><div>Can&rsquo;t say I have =
a counterargument to that.</div><br><div>The last time I used <font face=3D=
"Courier">bind</font> was a while ago, to work around a GCC bug with non-ge=
neric lambdas in pack expansions. Currently my project doesn&rsquo;t build =
in GCC; it segfaults and reports an ICE pointing at a generic lambda. So, t=
hat&rsquo;s the use case I know :P .</div><div><br></div><div>The suggestio=
n was only inspired by seeing a <font face=3D"Courier">std::placeholder</fo=
nt> in a StackOverflow question, but the user was misguided and didn&rsquo;=
t need it.</div><div><br></div></body></html>

<p></p>

-- <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+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 />
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 />

--Apple-Mail=_429400B8-08BB-454E-8319-63B8D14CF017--

.


Author: David Krauss <potswa@gmail.com>
Date: Mon, 25 Aug 2014 13:00:13 +0800
Raw View
--Apple-Mail=_CF49D5BB-CB18-4D2D-9C9F-0156D1895D10
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=ISO-8859-1


On 2014-08-25, at 12:50 PM, David Krauss <potswa@gmail.com> wrote:

> The last time I used bind was a while ago, to work around a GCC bug with =
non-generic lambdas in pack expansions. Currently my project doesn't build =
in GCC; it segfaults and reports an ICE pointing at a generic lambda. So, t=
hat's the use case I know :P .

.... Well, to be sure, bind can be leveraged in metaprogramming to construct=
 free-form functions, from a basis function an argument list of mixed value=
s and placeholders. Such style is pretty close to pure lambda calculus. Thi=
s might be helpful in expression template implementation, but I've not real=
ly gotten into that.

Also, just to hammer on everyone equally, my project also segfaulted Clang =
up until 3.4, whereupon I migrated to it :) .

--=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/.

--Apple-Mail=_CF49D5BB-CB18-4D2D-9C9F-0156D1895D10
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=ISO-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dwindows-1252"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-=
mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 2014&=
ndash;08&ndash;25, at 12:50 PM, David Krauss &lt;<a href=3D"mailto:potswa@g=
mail.com">potswa@gmail.com</a>&gt; wrote:</div><br class=3D"Apple-interchan=
ge-newline"><blockquote type=3D"cite"><meta http-equiv=3D"Content-Type" con=
tent=3D"text/html charset=3Dwindows-1252"><div style=3D"word-wrap: break-wo=
rd; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">The l=
ast time I used <font face=3D"Courier">bind</font> was a while ago, to work=
 around a GCC bug with non-generic lambdas in pack expansions. Currently my=
 project doesn&rsquo;t build in GCC; it segfaults and reports an ICE pointi=
ng at a generic lambda. So, that&rsquo;s the use case I know :P .</div></bl=
ockquote><div><br></div>&hellip; Well, to be sure,&nbsp;<font face=3D"Couri=
er">bind</font> can be leveraged in metaprogramming to construct free-form =
functions, from a basis function an argument list of mixed values and place=
holders. Such style is pretty close to pure lambda calculus. This might be =
helpful in expression template implementation, but I&rsquo;ve not really go=
tten into that.</div><div><br></div><div>Also, just to hammer on everyone e=
qually, my project also segfaulted Clang up until 3.4, whereupon I migrated=
 to it :) .</div><div><br></div></body></html>

<p></p>

-- <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+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 />
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 />

--Apple-Mail=_CF49D5BB-CB18-4D2D-9C9F-0156D1895D10--

.


Author: Jim Porter <jvp4846@g.rit.edu>
Date: Mon, 25 Aug 2014 00:57:27 -0500
Raw View
On 8/24/2014 11:45 PM, Richard Smith wrote:
> On Sat, Aug 23, 2014 at 6:21 PM, David Krauss <potswa@gmail.com
> <mailto:potswa@gmail.com>> wrote:
>
>     Why not add literal operator templates returning placeholders?
>
>
> Why not deprecate std::bind? Generic lambdas provide a better solution,
> and we don't benefit from having two ways to do the same thing.

For cases where you're not using placeholders, I sometimes find
std::bind to be easier to read, e.g. when binding a random number engine
and a distribution to make a nullary function object. I'd probably use
std::bind (or something like it) a lot more if I could just
partially-apply the first N arguments and not have to deal with
placeholders at all, e.g.:

   int sum(int a, int b, int c) { return a + b + c; }
   auto x = std::partial_apply(sum, 1, 2);
   x(3); // returns 6

Relatedly, it'd be nice if std::mem_fn supported something similar where
you could bind `this` to it, and get back an N-ary function:

   int MyClass::func(int, int);
   auto x = std::mem_fn(&MyClass::func, this);
   x(1, 2);

In general, I agree that most times you're using placeholders for
std::bind, a generic lambda would be better, but there might be room for
some "simple" binding metafunctions to handle the common cases.

- Jim

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.


Author: Andrew Tomazos <andrewtomazos@gmail.com>
Date: Mon, 25 Aug 2014 12:11:46 +0200
Raw View
--089e0116156a1eb56c0501716aa5
Content-Type: text/plain; charset=UTF-8

On Mon, Aug 25, 2014 at 5:05 AM, Gabriel Dos Reis <gdr@axiomatics.org>
wrote:

> David Krauss <potswa@gmail.com> writes:
>
> | Why not add literal operator templates returning placeholders?
> |
> | Compare:
> | std::placeholders::_1 // old
> | 1param // new
> |
> | Would it cause a problem to add it in the global namespace with no
> | leading underscore? This saves the user a using directive and the name
> | operator "" param is reserved to the language anyway. It should still
> | be an ordinary part of the language, declared by <functional>.
> |
> | The name needs to be bikeshedded.
>
> In the long tradition of Unix-rooted practice, I would have expected $n
> to figure prominently among the alternatives.
>
> (Please don't tell me '$' isn't in the basic source character set.)
>
> There are three easily-typed ASCII characters that could be proposed into
the basic source character set and we could use for something someday:

   $
   @
   ` (backtick)

Other languages use these extensively, so noone can argue that they are
hard to 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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

--089e0116156a1eb56c0501716aa5
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 M=
on, Aug 25, 2014 at 5:05 AM, Gabriel Dos Reis <span dir=3D"ltr">&lt;<a href=
=3D"mailto:gdr@axiomatics.org" target=3D"_blank">gdr@axiomatics.org</a>&gt;=
</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div>David Krauss &lt;<a href=3D"mailto:pots=
wa@gmail.com" target=3D"_blank">potswa@gmail.com</a>&gt; writes:<br>
<br>
| Why not add literal operator templates returning placeholders?<br>
|<br>
| Compare:<br>
| std::placeholders::_1 // old<br>
| 1param // new<br>
|<br>
| Would it cause a problem to add it in the global namespace with no<br>
| leading underscore? This saves the user a using directive and the name<br=
>
| operator &quot;&quot; param is reserved to the language anyway. It should=
 still<br>
| be an ordinary part of the language, declared by &lt;functional&gt;.<br>
|<br>
| The name needs to be bikeshedded.<br>
<br>
</div>In the long tradition of Unix-rooted practice, I would have expected =
$n<br>
to figure prominently among the alternatives.<br>
<br>
(Please don&#39;t tell me &#39;$&#39; isn&#39;t in the basic source charact=
er set.)<br><br></blockquote><div>There are three easily-typed ASCII charac=
ters that could be proposed into the basic source character set and we coul=
d use for something someday:</div>

<div><br></div><div>=C2=A0 =C2=A0$</div><div>=C2=A0 =C2=A0@</div><div>=C2=
=A0 =C2=A0` (backtick)</div><div><br></div><div>Other languages use these e=
xtensively, so noone can argue that they are hard to type.</div><div><br></=
div></div></div></div>

<p></p>

-- <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+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 />
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 />

--089e0116156a1eb56c0501716aa5--

.


Author: Ville Voutilainen <ville.voutilainen@gmail.com>
Date: Mon, 25 Aug 2014 13:20:14 +0300
Raw View
On 25 August 2014 13:11, Andrew Tomazos <andrewtomazos@gmail.com> wrote:
> There are three easily-typed ASCII characters that could be proposed into
> the basic source character set and we could use for something someday:
>
>    $
>    @
>    ` (backtick)
>
> Other languages use these extensively, so noone can argue that they are hard
> to type.


One might learn interesting things when faced with interesting locales. ;)
The first two require the use of altgr on my computer, and the last one is a
dead character. They are all rather hard to type. :P

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.


Author: "J. Daniel Garcia" <josedaniel.garcia@uc3m.es>
Date: Mon, 25 Aug 2014 12:23:51 +0200
Raw View
--20cf303bf576c8f2a70501719715
Content-Type: text/plain; charset=UTF-8

For what is worth the following characters also require AltGr on my
keyboard: \, [, ], {, }, ~

It doesn't seem that using AltGr is so inconvenient


On Mon, Aug 25, 2014 at 12:20 PM, Ville Voutilainen <
ville.voutilainen@gmail.com> wrote:

> On 25 August 2014 13:11, Andrew Tomazos <andrewtomazos@gmail.com> wrote:
> > There are three easily-typed ASCII characters that could be proposed into
> > the basic source character set and we could use for something someday:
> >
> >    $
> >    @
> >    ` (backtick)
> >
> > Other languages use these extensively, so noone can argue that they are
> hard
> > to type.
>
>
> One might learn interesting things when faced with interesting locales. ;)
> The first two require the use of altgr on my computer, and the last one is
> a
> dead character. They are all rather hard to type. :P
>
> --
>
> ---
> 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.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

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

<div dir=3D"ltr">For what is worth the following characters also require Al=
tGr on my keyboard: \, [, ], {, }, ~<div><br></div><div>It doesn&#39;t seem=
 that using AltGr is so inconvenient</div><div class=3D"gmail_extra"><br cl=
ear=3D"all">

<div><div dir=3D"ltr"><br></div></div><div class=3D"gmail_quote">On Mon, Au=
g 25, 2014 at 12:20 PM, Ville Voutilainen <span dir=3D"ltr">&lt;<a href=3D"=
mailto:ville.voutilainen@gmail.com" target=3D"_blank">ville.voutilainen@gma=
il.com</a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div class=3D"">On 25 August 2014 13:11, And=
rew Tomazos &lt;<a href=3D"mailto:andrewtomazos@gmail.com">andrewtomazos@gm=
ail.com</a>&gt; wrote:<br>


&gt; There are three easily-typed ASCII characters that could be proposed i=
nto<br>
&gt; the basic source character set and we could use for something someday:=
<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 $<br>
&gt;=C2=A0 =C2=A0 @<br>
&gt;=C2=A0 =C2=A0 ` (backtick)<br>
&gt;<br>
&gt; Other languages use these extensively, so noone can argue that they ar=
e hard<br>
&gt; to type.<br>
<br>
<br>
</div>One might learn interesting things when faced with interesting locale=
s. ;)<br>
The first two require the use of altgr on my computer, and the last one is =
a<br>
dead character. They are all rather hard to type. :P<br>
<div class=3D"HOEnZb"><div class=3D"h5"><br>
--<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">std-propo=
sals+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>
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>

<p></p>

-- <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+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 />
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 />

--20cf303bf576c8f2a70501719715--

.


Author: Stack Machine <stackmachine@hotmail.com>
Date: Mon, 25 Aug 2014 03:29:00 -0700 (PDT)
Raw View
------=_Part_3124_1184489481.1408962540793
Content-Type: text/plain; charset=UTF-8

Brackets and braces require alt gr on a german keyboard, so I dont see a
problem with $ and @.

Am Montag, 25. August 2014 12:20:16 UTC+2 schrieb Ville Voutilainen:
>
> On 25 August 2014 13:11, Andrew Tomazos <andrew...@gmail.com <javascript:>>
> wrote:
> > There are three easily-typed ASCII characters that could be proposed
> into
> > the basic source character set and we could use for something someday:
> >
> >    $
> >    @
> >    ` (backtick)
> >
> > Other languages use these extensively, so noone can argue that they are
> hard
> > to type.
>
>
> One might learn interesting things when faced with interesting locales. ;)
> The first two require the use of altgr on my computer, and the last one is
> a
> dead character. They are all rather hard to type. :P
>

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

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

<div dir=3D"ltr">Brackets and braces require alt gr on a german keyboard, s=
o I dont see a problem with $ and @.<br><br>Am Montag, 25. August 2014 12:2=
0:16 UTC+2 schrieb Ville Voutilainen:<blockquote class=3D"gmail_quote" styl=
e=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left:=
 1ex;">On 25 August 2014 13:11, Andrew Tomazos &lt;<a href=3D"javascript:" =
target=3D"_blank" gdf-obfuscated-mailto=3D"6pV9zdv4QlIJ" onmousedown=3D"thi=
s.href=3D'javascript:';return true;" onclick=3D"this.href=3D'javascript:';r=
eturn true;">andrew...@gmail.com</a>&gt; wrote:
<br>&gt; There are three easily-typed ASCII characters that could be propos=
ed into
<br>&gt; the basic source character set and we could use for something some=
day:
<br>&gt;
<br>&gt; &nbsp; &nbsp;$
<br>&gt; &nbsp; &nbsp;@
<br>&gt; &nbsp; &nbsp;` (backtick)
<br>&gt;
<br>&gt; Other languages use these extensively, so noone can argue that the=
y are hard
<br>&gt; to type.
<br>
<br>
<br>One might learn interesting things when faced with interesting locales.=
 ;)
<br>The first two require the use of altgr on my computer, and the last one=
 is a
<br>dead character. They are all rather hard to type. :P
<br></blockquote></div>

<p></p>

-- <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+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 />
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 />

------=_Part_3124_1184489481.1408962540793--

.


Author: David Krauss <potswa@gmail.com>
Date: Mon, 25 Aug 2014 18:41:28 +0800
Raw View
--Apple-Mail=_1D660A9C-430C-4115-AF5D-83473E2C076E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=ISO-8859-1


On 2014-08-25, at 6:11 PM, Andrew Tomazos <andrewtomazos@gmail.com> wrote:

> There are three easily-typed ASCII characters that could be proposed into=
 the basic source character set and we could use for something someday:

Characters tend to be either like punctuation or not. C++ hasn't added new =
punctuation in decades. Non-punctuation includes UCNs (and equivalently, ex=
tended characters), so there's no real difference there between the basic c=
har set or not. Only the possibility of the user typing a UCN, which doesn'=
t count in my book.

Given that $ should be (normatively) allowed in identifiers, I don't see ho=
w adding it to the basic char set gains anything. Since GCC, Clang, and MSV=
C (at least) already allow it, the former two only giving a warning in -ped=
antic mode (I didn't try MSVC just now), I don't think that one can ever be=
 used for punctuation.

For what it's worth, Clang treats \u0024 as a garbage character but accepts=
 $ as if it were a distinct character in the basic source set. Given -fexte=
nded-identifiers, GCC maps \u0024 to $ without complaint, which is the corr=
ect behavior if it were a permitted UCN.

Also for what it's worth, various platform-specific extensions and Objectiv=
e-C already use @, and IMHO ` is just illegible. In effect, the three odd c=
haracters are reserved to the implementation, and that's not such a bad thi=
ng.

--=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/.

--Apple-Mail=_1D660A9C-430C-4115-AF5D-83473E2C076E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=ISO-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dwindows-1252"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-=
mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 2014&=
ndash;08&ndash;25, at 6:11 PM, Andrew Tomazos &lt;<a href=3D"mailto:andrewt=
omazos@gmail.com">andrewtomazos@gmail.com</a>&gt; wrote:</div><br class=3D"=
Apple-interchange-newline"><blockquote type=3D"cite"><div dir=3D"ltr"><div =
class=3D"gmail_extra"><div class=3D"gmail_quote"><div>There are three easil=
y-typed ASCII characters that could be proposed into the basic source chara=
cter set and we could use for something someday:</div></div></div></div></b=
lockquote><div><br></div><div>Characters tend to be either like punctuation=
 or not. C++ hasn&rsquo;t added new punctuation in decades. Non-punctuation=
 includes UCNs (and equivalently, extended characters), so there&rsquo;s no=
 real difference there between the basic char set or not. Only the possibil=
ity of the user typing a UCN, which doesn&rsquo;t count in my book.</div><d=
iv><br></div><div>Given that <font face=3D"Courier">$</font> should be (nor=
matively) allowed in identifiers, I don&rsquo;t see how adding it to the ba=
sic char set gains anything. Since GCC, Clang, and MSVC (at least) already =
allow it, the former two only giving a warning in -pedantic mode (I didn&rs=
quo;t try MSVC just now), I don&rsquo;t think that one can ever be used for=
 punctuation.</div></div><br><div>For what it&rsquo;s worth, Clang treats&n=
bsp;<font face=3D"Courier">\u0024</font>&nbsp;as a garbage character but ac=
cepts <font face=3D"Courier">$</font> as if it were a distinct character in=
 the basic source set. Given -fextended-identifiers, GCC maps <font face=3D=
"Courier">\u0024</font> to <font face=3D"Courier">$</font>&nbsp;without com=
plaint, which is the correct behavior if it were a permitted UCN.</div><div=
><br></div><div>Also for what it&rsquo;s worth, various platform-specific e=
xtensions and Objective-C already use <font face=3D"Courier">@</font>, and =
IMHO <font face=3D"Courier">`</font> is just illegible. In effect, the thre=
e odd characters are reserved to the implementation, and that&rsquo;s not s=
uch a bad thing.</div><div><br></div></body></html>

<p></p>

-- <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+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 />
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 />

--Apple-Mail=_1D660A9C-430C-4115-AF5D-83473E2C076E--

.


Author: Ville Voutilainen <ville.voutilainen@gmail.com>
Date: Mon, 25 Aug 2014 13:47:26 +0300
Raw View
On 25 August 2014 13:29, Stack Machine <stackmachine@hotmail.com> wrote:
> Brackets and braces require alt gr on a german keyboard, so I dont see a
> problem with $ and @.


You and Daniel seem to be laboring under the illusion that just
because there are
already characters that are difficult to type, that's somehow a reason
to add more
such characters. Furthermore, these ones are worse, since they are farther
away from altgr than the existing usual suspects, and cannot be typed
with a single
hand.

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.


Author: Andrew Tomazos <andrewtomazos@gmail.com>
Date: Mon, 25 Aug 2014 13:23:51 +0200
Raw View
--001a11345f04dd60890501726b6e
Content-Type: text/plain; charset=UTF-8

Each of the three characters is used in an extremely long list of
programming languages.  The @ character appears in every one of the x
billion email addresses in the world.  Frankly, if your keyboard layout has
trouble with them, you need to file a bug against your keyboard layout.

On Mon, Aug 25, 2014 at 12:47 PM, Ville Voutilainen <
ville.voutilainen@gmail.com> wrote:

> On 25 August 2014 13:29, Stack Machine <stackmachine@hotmail.com> wrote:
> > Brackets and braces require alt gr on a german keyboard, so I dont see a
> > problem with $ and @.
>
>
> You and Daniel seem to be laboring under the illusion that just
> because there are
> already characters that are difficult to type, that's somehow a reason
> to add more
> such characters. Furthermore, these ones are worse, since they are farther
> away from altgr than the existing usual suspects, and cannot be typed
> with a single
> hand.
>
> --
>
> ---
> 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.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

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

<div dir=3D"ltr"><div class=3D"gmail_extra">Each of the three characters is=
 used in an extremely long list of programming languages. =C2=A0The @ chara=
cter appears in every one of the x billion email addresses in the world. =
=C2=A0Frankly, if your keyboard layout has trouble with them, you need to f=
ile a bug against your keyboard layout.</div>
<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><div class=
=3D"gmail_quote">On Mon, Aug 25, 2014 at 12:47 PM, Ville Voutilainen <span =
dir=3D"ltr">&lt;<a href=3D"mailto:ville.voutilainen@gmail.com" target=3D"_b=
lank">ville.voutilainen@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div class=3D"">On 25 August 2014 13:29, Sta=
ck Machine &lt;<a href=3D"mailto:stackmachine@hotmail.com">stackmachine@hot=
mail.com</a>&gt; wrote:<br>

&gt; Brackets and braces require alt gr on a german keyboard, so I dont see=
 a<br>
&gt; problem with $ and @.<br>
<br>
<br>
</div>You and Daniel seem to be laboring under the illusion that just<br>
because there are<br>
already characters that are difficult to type, that&#39;s somehow a reason<=
br>
to add more<br>
such characters. Furthermore, these ones are worse, since they are farther<=
br>
away from altgr than the existing usual suspects, and cannot be typed<br>
with a single<br>
hand.<br>
<div class=3D"HOEnZb"><div class=3D"h5"><br>
--<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">std-propo=
sals+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>
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>

<p></p>

-- <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+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 />
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 />

--001a11345f04dd60890501726b6e--

.


Author: Ville Voutilainen <ville.voutilainen@gmail.com>
Date: Mon, 25 Aug 2014 14:37:48 +0300
Raw View
On 25 August 2014 14:23, Andrew Tomazos <andrewtomazos@gmail.com> wrote:
> Each of the three characters is used in an extremely long list of
> programming languages.  The @ character appears in every one of the x
> billion email addresses in the world.  Frankly, if your keyboard layout has
> trouble with them, you need to file a bug against your keyboard layout.

Well, you said "noone can argue that they are hard to type". That is
patently false.
Whether other languages use those characters and whether email addresses
also use them doesn't change that. So, frankly, the potential issues with such
characters are rather small, and the proposed use for them infrequent,
but we can just as well stop pretending that they are obviously and clearly
easy to type, since they aren't.

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.


Author: "J. Daniel Garcia" <josedaniel.garcia@uc3m.es>
Date: Mon, 25 Aug 2014 14:17:54 +0200
Raw View
--047d7b3a960499c1cd0501732f1c
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

I usually use both hands for typing !, ", #, %, &, /, (, ), =3D, ?, =C2=BF,=
 *, ;,
:, _


On Mon, Aug 25, 2014 at 12:47 PM, Ville Voutilainen <
ville.voutilainen@gmail.com> wrote:

> On 25 August 2014 13:29, Stack Machine <stackmachine@hotmail.com> wrote:
> > Brackets and braces require alt gr on a german keyboard, so I dont see =
a
> > problem with $ and @.
>
>
> You and Daniel seem to be laboring under the illusion that just
> because there are
> already characters that are difficult to type, that's somehow a reason
> to add more
> such characters. Furthermore, these ones are worse, since they are farthe=
r
> away from altgr than the existing usual suspects, and cannot be typed
> with a single
> hand.
>
> --
>
> ---
> 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.
> 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/.

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

<div dir=3D"ltr">I usually use both hands for typing !, &quot;, #, %, &amp;=
, /, (, ), =3D, ?, =C2=BF, *, ;, :, _<div><br></div><div><br></div><div cla=
ss=3D"gmail_extra"><div class=3D"gmail_quote">On Mon, Aug 25, 2014 at 12:47=
 PM, Ville Voutilainen <span dir=3D"ltr">&lt;<a href=3D"mailto:ville.voutil=
ainen@gmail.com" target=3D"_blank">ville.voutilainen@gmail.com</a>&gt;</spa=
n> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div class=3D"">On 25 August 2014 13:29, Sta=
ck Machine &lt;<a href=3D"mailto:stackmachine@hotmail.com">stackmachine@hot=
mail.com</a>&gt; wrote:<br>


&gt; Brackets and braces require alt gr on a german keyboard, so I dont see=
 a<br>
&gt; problem with $ and @.<br>
<br>
<br>
</div>You and Daniel seem to be laboring under the illusion that just<br>
because there are<br>
already characters that are difficult to type, that&#39;s somehow a reason<=
br>
to add more<br>
such characters. Furthermore, these ones are worse, since they are farther<=
br>
away from altgr than the existing usual suspects, and cannot be typed<br>
with a single<br>
hand.<br>
<div class=3D"HOEnZb"><div class=3D"h5"><br>
--<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">std-propo=
sals+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>
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>

<p></p>

-- <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+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 />
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 />

--047d7b3a960499c1cd0501732f1c--

.


Author: Jean-Marc Bourguet <jm.bourguet@gmail.com>
Date: Mon, 25 Aug 2014 07:17:06 -0700 (PDT)
Raw View
------=_Part_187_1105954822.1408976226776
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Le lundi 25 ao=C3=BBt 2014 05:27:18 UTC+2, David Krauss a =C3=A9crit :
>
>
> On 2014=E2=80=9308=E2=80=9325, at 11:20 AM, Gabriel Dos Reis <g...@axioma=
tics.org=20
> <javascript:>> wrote:
>
> I guess my point is we don't need to go to UCN -- they are in general
> just obfuscations.  WG21 can decree that '$' is in the basic source
> character set.  All mainstreams implementations will just be fine.
> Question: which implementation will have difficulty accomodating that
> and why?
>
>
> The source of all such evil (AFAIK) is XLC hosted on AIX constrained to a=
n=20
> international subset of EBCDIC.
>
>
IIRC POSIX mandates ASCII for locale "C".  What I just checked is that on=
=20
AIX 'a' is 97 and that we have no locales installed which uses EBCDIC on=20
our AIX machines (we have locales with UTF8, ISO-8859-1, ISO-8859-15). I'd=
=20
look at IBM mainframes for EBCDIC.

Yours,

--=20
Jean-Marc

--=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/.

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

<div dir=3D"ltr">Le lundi 25 ao=C3=BBt 2014 05:27:18 UTC+2, David Krauss a =
=C3=A9crit&nbsp;:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div style=3D=
"word-wrap:break-word"><br><div><div>On 2014=E2=80=9308=E2=80=9325, at 11:2=
0 AM, Gabriel Dos Reis &lt;<a href=3D"javascript:" target=3D"_blank" gdf-ob=
fuscated-mailto=3D"HlQYnxCkvckJ" onmousedown=3D"this.href=3D'javascript:';r=
eturn true;" onclick=3D"this.href=3D'javascript:';return true;">g...@axioma=
tics.org</a>&gt; wrote:</div><br><blockquote type=3D"cite">I guess my point=
 is we don't need to go to UCN -- they are in general<br>just obfuscations.=
 &nbsp;WG21 can decree that '$' is in the basic source<br>character set. &n=
bsp;All mainstreams implementations will just be fine.<br>Question: which i=
mplementation will have difficulty accomodating that<br>and why?<br></block=
quote><div><br></div><div>The source of all such evil (AFAIK) is XLC hosted=
 on AIX constrained to an international subset of EBCDIC.</div><div><br></d=
iv></div></div></blockquote><div><br></div><div>IIRC POSIX mandates ASCII f=
or locale "C". &nbsp;What I just checked is that on AIX 'a' is 97 and that =
we have no locales installed which uses EBCDIC on our AIX machines (we have=
 locales with UTF8, ISO-8859-1, ISO-8859-15). I'd look at IBM mainframes fo=
r EBCDIC.</div><div><br></div><div>Yours,</div><div><br></div><div>--&nbsp;=
</div><div>Jean-Marc</div></div>

<p></p>

-- <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+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 />
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 />

------=_Part_187_1105954822.1408976226776--

.


Author: Gabriel Dos Reis <gdr@axiomatics.org>
Date: Mon, 25 Aug 2014 11:34:00 -0700
Raw View
Jim Porter <jvp4846@g.rit.edu> writes:

| On 8/24/2014 11:45 PM, Richard Smith wrote:
| > On Sat, Aug 23, 2014 at 6:21 PM, David Krauss <potswa@gmail.com
| > <mailto:potswa@gmail.com>> wrote:
| >
| >     Why not add literal operator templates returning placeholders?
| >
| >
| > Why not deprecate std::bind? Generic lambdas provide a better solution,
| > and we don't benefit from having two ways to do the same thing.
|
| For cases where you're not using placeholders, I sometimes find
| std::bind to be easier to read, e.g. when binding a random number
| engine and a distribution to make a nullary function object. I'd
| probably use std::bind (or something like it) a lot more if I could
| just partially-apply the first N arguments and not have to deal with
| placeholders at all, e.g.:
|
|   int sum(int a, int b, int c) { return a + b + c; }
|   auto x = std::partial_apply(sum, 1, 2);
|   x(3); // returns 6
|
| Relatedly, it'd be nice if std::mem_fn supported something similar
| where you could bind `this` to it, and get back an N-ary function:
|
|   int MyClass::func(int, int);
|   auto x = std::mem_fn(&MyClass::func, this);
|   x(1, 2);
|
| In general, I agree that most times you're using placeholders for
| std::bind, a generic lambda would be better, but there might be room
| for some "simple" binding metafunctions to handle the common cases.

Agreed.  In general, you want to use lambdas.  Sometimes, std::bind
beats it in clarity.

I don't think we should be pushing the language to impose a mono
culture -- that has been actually a great strength of C++.

For sure, Perl is the other extreme I don't necessarily want to emulate.

-- Gaby

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.


Author: Gabriel Dos Reis <gdr@axiomatics.org>
Date: Mon, 25 Aug 2014 11:45:23 -0700
Raw View
Ville Voutilainen <ville.voutilainen@gmail.com> writes:

| On 25 August 2014 13:11, Andrew Tomazos <andrewtomazos@gmail.com> wrote:
| > There are three easily-typed ASCII characters that could be proposed into
| > the basic source character set and we could use for something someday:
| >
| >    $
| >    @
| >    ` (backtick)
| >
| > Other languages use these extensively, so noone can argue that they are hard
| > to type.
|
|
| One might learn interesting things when faced with interesting locales. ;)
| The first two require the use of altgr on my computer, and the last one is a
| dead character. They are all rather hard to type. :P

Well, get a real C++-friendly keyboard! How do you input {, }, [, ] ? :-p
And the ref sign?  Do you #include?

Seriously, if you find yourself having to type the dollar sign too
often, you might reconsider what you are doing :-)

-- Gaby

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.


Author: Gabriel Dos Reis <gdr@axiomatics.org>
Date: Mon, 25 Aug 2014 11:46:52 -0700
Raw View
Ville Voutilainen <ville.voutilainen@gmail.com> writes:

| On 25 August 2014 13:29, Stack Machine <stackmachine@hotmail.com> wrote:
| > Brackets and braces require alt gr on a german keyboard, so I dont see a
| > problem with $ and @.
|
|
| You and Daniel seem to be laboring under the illusion that just
| because there are
| already characters that are difficult to type, that's somehow a reason
| to add more
| such characters.

But, you don't have to use it!  You can continue typing std::placeholder::_1.

-- Gaby

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.


Author: Johannes Schaub <schaub.johannes@googlemail.com>
Date: Mon, 25 Aug 2014 20:49:56 +0200
Raw View
2014-08-24 3:21 GMT+02:00 David Krauss <potswa@gmail.com>:
> Why not add literal operator templates returning placeholders?
>
> Compare:
> std::placeholders::_1 // old
> 1param // new
>
> Would it cause a problem to add it in the global namespace with no leading
> underscore? This saves the user a using directive and the name operator ""
> param is reserved to the language anyway. It should still be an ordinary
> part of the language, declared by <functional>.
>
> The name needs to be bikeshedded.
>

I think I have an excellent idea. Let us just reverse the order and
call it "1_". Then add 'operator "" _'. Reserve that "name".

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.


Author: Thiago Macieira <thiago@macieira.org>
Date: Mon, 25 Aug 2014 14:54:48 -0700
Raw View
On Monday 25 August 2014 11:45:23 Gabriel Dos Reis wrote:
> Well, get a real C++-friendly keyboard! How do you input {, }, [, ] ?

Digraphs.

http://stackoverflow.com/questions/15736282/what-is-this-smiley-with-beard-expression

--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.


Author: David Krauss <potswa@gmail.com>
Date: Tue, 26 Aug 2014 09:35:15 +0800
Raw View
On 2014-08-26, at 2:49 AM, Johannes Schaub <schaub.johannes@googlemail.com> wrote:

> I think I have an excellent idea. Let us just reverse the order and
> call it "1_". Then add 'operator "" _'. Reserve that "name".

I think it's better to work within the existing reservations :/ . A single underscore is currently a valid suffix and it would be surprising if nobody uses it.

This thread is a bit strange...

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.


Author: Gabriel Dos Reis <gdr@axiomatics.org>
Date: Tue, 26 Aug 2014 00:22:25 -0700
Raw View
David Krauss <potswa@gmail.com> writes:

| On 2014-08-26, at 2:49 AM, Johannes Schaub
| <schaub.johannes@googlemail.com> wrote:
|
| > I think I have an excellent idea. Let us just reverse the order and
| > call it "1_". Then add 'operator "" _'. Reserve that "name".
|
| I think it's better to work within the existing reservations :/ . A
| single underscore is currently a valid suffix and it would be
| surprising if nobody uses it.
|
| This thread is a bit strange...

The worl is strange -- it is stranger than you can possibly imagine.

-- Gaby

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.


Author: Douglas Boffey <douglas.boffey@gmail.com>
Date: Sat, 30 Aug 2014 10:19:21 -0700 (PDT)
Raw View
------=_Part_1422_540179804.1409419161495
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Regarding adding $ to the basic character set, one possible implication=20
might be with name mangling=E2=80=94I have in the past come across a compil=
er that=20
used $ in such a way.

--=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/.

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

<div dir=3D"ltr">Regarding adding $ to the basic character set, one possibl=
e implication might be with name mangling=E2=80=94I have in the past come a=
cross a compiler that used $ in such a way.<br><br></div>

<p></p>

-- <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+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 />
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 />

------=_Part_1422_540179804.1409419161495--

.


Author: Sebastian Redl <wasti.redl@gmx.net>
Date: Tue, 9 Sep 2014 15:15:12 -0700 (PDT)
Raw View
------=_Part_1235_114525602.1410300912373
Content-Type: text/plain; charset=UTF-8



On Sunday, August 24, 2014 3:23:00 AM UTC+2, David Krauss wrote:
>
> Why not add literal operator templates returning placeholders?
>
> Compare:
> std::placeholders::_1 // old
> 1param // new
>
>
It's not actually possible to implement that. The placeholders need to
encode their index in the type (std::is_placeholder<_1> must derive from
std::integral_constant<int, 1>), and it's not possible to write a function,
even a constexpr function, that returns different types for different
arguments, as the operator ""param would have to do in this case.

Sebastian

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

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

<div dir=3D"ltr"><br><br>On Sunday, August 24, 2014 3:23:00 AM UTC+2, David=
 Krauss wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-l=
eft: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div style=3D"wo=
rd-wrap:break-word">Why not add literal operator templates returning placeh=
olders?<div><br></div><div>Compare:</div><div><font face=3D"Courier"><span =
style=3D"white-space:pre"> </span>std::placeholders::_1 // old</font></div>=
<div><font face=3D"Courier"><span style=3D"white-space:pre"> </span>1param =
// new</font></div><br></div></blockquote><div><br>It's not actually possib=
le to implement that. The placeholders need to encode their index in the ty=
pe (std::is_placeholder&lt;_1&gt; must derive from std::integral_constant&l=
t;int, 1&gt;), and it's not possible to write a function, even a constexpr =
function, that returns different types for different arguments, as the oper=
ator ""param would have to do in this case.<br><br>Sebastian<br></div></div=
>

<p></p>

-- <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+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 />
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 />

------=_Part_1235_114525602.1410300912373--

.


Author: Sebastian Redl <wasti.redl@gmx.net>
Date: Tue, 9 Sep 2014 15:39:17 -0700 (PDT)
Raw View
------=_Part_777_134522940.1410302357834
Content-Type: text/plain; charset=UTF-8



On Wednesday, September 10, 2014 12:15:12 AM UTC+2, Sebastian Redl wrote:
>
>
> It's not actually possible to implement that.
>

Never mind, it totally is. Forgot about the templated literal operators.

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

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

<div dir=3D"ltr"><br><br>On Wednesday, September 10, 2014 12:15:12 AM UTC+2=
, Sebastian Redl wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0=
;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div di=
r=3D"ltr"><br><div>It's not actually possible to implement that.<br></div><=
/div></blockquote><div><br>Never mind, it totally is. Forgot about the temp=
lated literal operators. <br></div></div>

<p></p>

-- <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+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 />
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 />

------=_Part_777_134522940.1410302357834--

.