<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 11/27/2013 03:19 PM, Herb Sutter
wrote:<br>
</div>
<blockquote
cite="mid:46a58055779540e898a91b3fe071549a@BLUPR03MB455.namprd03.prod.outlook.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Resending to
correct features list…<o:p></o:p></span></p>
<p class="MsoNormal"><a moz-do-not-send="true"
name="_MailEndCompose"><span style="color:#1F497D"><o:p> </o:p></span></a></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in
0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Herb Sutter <br>
<b>Sent:</b> Wednesday, November 27, 2013 11:40 AM<br>
<b>To:</b> '<a class="moz-txt-link-abbreviated" href="mailto:c++std-admin@accu.org">c++std-admin@accu.org</a>'<br>
<b>Cc:</b> '<a class="moz-txt-link-abbreviated" href="mailto:features@isocpp.org">features@isocpp.org</a>'<br>
<b>Subject:</b> Feature test standing document now
online<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">FYI, Clark and I have now posted the
“unofficial recommendations” of SG10 per our Chicago straw
poll. As I mentioned in Chicago, I was contemplating putting
it up as a standing document from SG10, and it just went
live under
<a moz-do-not-send="true"
href="http://isocpp.org/std/standing-documents">http://isocpp.org/std/standing-documents</a>
as SD-6.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">It is clearly marked “unofficial
recommendations” etc. so there should be no confusion about
its status, but if you have any suggestions please let me
and Clark know anytime.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks again to Clark and the many SG10
participants for working on this! Best wishes,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Herb<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Features mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Features@isocpp.open-std.org">Features@isocpp.open-std.org</a>
<a class="moz-txt-link-freetext" href="http://www.open-std.org/mailman/listinfo/features">http://www.open-std.org/mailman/listinfo/features</a>
</pre>
</blockquote>
There are some changes...<br>
<br>
Put user-defined literals for complex this in the table:<br>
<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3779.pdf">N3779</a>
User-defined Literals for std::complex 26.4 201310
<complex><br>
<br>
I think shared_mutex is in its own header so it can be treated by
__has_include rather than a macro.<br>
Change this:<br>
<table border="1">
<tbody>
<tr>
<td><a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3659.html">N3659</a></td>
<td> Shared locking in C++</td>
<td> 30.4</td>
<td> <code><a
href="http://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations#detail.cpp14.n3659">__cpp_lib_shared_mutex</a></code></td>
<td> 201304</td>
<td> <code><mutex></code></td>
</tr>
</tbody>
</table>
to this:<br>
<table border="1">
<tbody>
<tr>
<td><a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3659.html">N3659</a></td>
<td> Shared locking in C++</td>
<td> 30.4</td>
<td> <code><a
href="http://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations#detail.cpp14.n3659">__cpp_has_include(<shared_mutex>)</a></code></td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
Add digit separators:<br>
<table border="1">
<tbody>
<tr>
<td><a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n781.html">N3781</a></td>
<td> Single-Quotation-Mark as a Digit Separator</td>
<td>2.10,2.14<br>
</td>
<td> __cpp_digit_separators</td>
<td> 201310</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<br>
Down in C++11, if we feel like completeness it would be easy to
mention the new headers:<br>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>26.3<br>
</td>
<td> __has_include(<cfenv>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>27.9<br>
</td>
<td> __has_include(<cinttypes>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>18.10<br>
</td>
<td> __has_include(<cstdbool>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>18.4<br>
</td>
<td> __has_include(<cstdint>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>26.8<br>
</td>
<td> __has_include(<ctgmath>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>21.8<br>
</td>
<td> __has_include(<cuchar>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>23.3<br>
</td>
<td> __has_include(<array>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>23.3<br>
</td>
<td> __has_include(<forward_list>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>23.5<br>
</td>
<td> __has_include(<unordered_set>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>23.5<br>
</td>
<td> __has_include(<unordered_map>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>30.3<br>
</td>
<td> __has_include(<thread>)</td>
<td> 1</td>
<td><i>predefined<br>
</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>30.5<br>
</td>
<td> __has_include(<condition_variable>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>30.6<br>
</td>
<td> __has_include(<future>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>30.4<br>
</td>
<td> __has_include(<mutex>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>29.2<br>
</td>
<td> __has_include(<atomic>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<br>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>20.12<br>
</td>
<td> __has_include(<chrono>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>22.5<br>
</td>
<td> __has_include(<codecvt>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>18.9<br>
</td>
<td> __has_include(<initializer_list>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>26.5<br>
</td>
<td> __has_include(<random>)</td>
<td> 1</td>
<td><i>predefined<br>
</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>20.11<br>
</td>
<td> __has_include(<ratio>)</td>
<td> 1</td>
<td><i>predefined<br>
</i></td>
</tr>
</tbody>
</table>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>28<br>
</td>
<td> __has_include(<regex>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>19.5<br>
</td>
<td> __has_include(<system_error>)</td>
<td> 1</td>
<td><i>predefined<br>
</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>20.4<br>
</td>
<td> __has_include(<tuple>)</td>
<td> 1</td>
<td><i>predefined</i></td>
</tr>
</tbody>
</table>
<br>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td> xxx</td>
<td>20.14<br>
</td>
<td> __has_include(<typeindex>)</td>
<td> 1</td>
<td><i>predefined<br>
</i></td>
</tr>
</tbody>
</table>
<table border="1">
<tbody>
<tr>
<td>n<br>
</td>
<td>xxx<br>
</td>
<td>20.10<br>
</td>
<td>__has_include(<type_traits>)<br>
</td>
<td>1<br>
</td>
<td><i></i><i>predefined</i><br>
</td>
</tr>
</tbody>
</table>
</body>
</html>