Topic: rel_ops as a fallback for operator functors


Author: David Krauss <potswa@gmail.com>
Date: Fri, 14 Aug 2015 10:11:17 +0800
Raw View
--Apple-Mail=_EC397137-7621-48E0-B1AB-B526DA31EA5A
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8

Why shouldn=E2=80=99t the operator wrapper classes in <functional> use expr=
ession SFINAE and bring in namespace rel_ops when the wrapped definition is=
 ill-formed? It would make the rel_ops functionality much more accessible, =
whereas currently in most cases it=E2=80=99s easier just to ignore rel_ops =
and write the boilerplate.

When rel_ops was conceived, expression SFINAE didn=E2=80=99t yet exist, and=
 it was common to be more careless with namespaces.

The proposal isn=E2=80=99t a breaking change (to user libraries with SFINAE=
), since it only involves fixing ill-formed class template specializations.

--=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=_EC397137-7621-48E0-B1AB-B526DA31EA5A
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=UTF-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dutf-8"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: s=
pace; -webkit-line-break: after-white-space;" class=3D"">Why shouldn=E2=80=
=99t the operator wrapper classes in <font face=3D"Courier" class=3D"">&lt;=
functional&gt;</font> use expression SFINAE and bring in <font face=3D"Cour=
ier" class=3D"">namespace rel_ops</font> when the wrapped definition is ill=
-formed? It would make the <font face=3D"Courier" class=3D"">rel_ops</font>=
 functionality much more accessible, whereas currently in most cases it=E2=
=80=99s easier just to ignore <font face=3D"Courier" class=3D"">rel_ops</fo=
nt> and write the boilerplate.<div class=3D""><br class=3D""></div><div cla=
ss=3D"">When <font face=3D"Courier" class=3D"">rel_ops</font> was conceived=
, expression SFINAE didn=E2=80=99t yet exist, and it was common to be more =
careless with namespaces.</div><div class=3D""><br class=3D""></div><div cl=
ass=3D"">The proposal isn=E2=80=99t a breaking change (to user libraries wi=
th SFINAE), since it only involves fixing ill-formed class template special=
izations.</div><div class=3D""><br class=3D""></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=_EC397137-7621-48E0-B1AB-B526DA31EA5A--

.