<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 01/05/2015 04:29 PM, Nelson, Clark
      wrote:<br>
    </div>
    <blockquote
cite="mid:38C37E44FD352B44ABFC58410B0790D07EB75F42@ORSMSX103.amr.corp.intel.com"
      type="cite">
      <pre wrap="">Here's an updated document.

Summarizing recent discussion:

With respect to N4267 (u8 character literals), we have now had three macro
name proposals:

__cpp_utf8_char_literals
__cpp_unicode_literals
__cpp_unicode_characters

The latter two, of course, update the value of a macro from C++11. I'm
inclined to guess that this is going to be considered a small enough tweak
that introducing a new macro name (such as the first) would not be
justified.

People have talked about how unfortunate it is that the C++11
recommendations use two different macro names for such closely related
features. So far, I have not interpreted this is an actual proposal to
change SD-6 -- it seems like noodling up to this point. But if someone
wants to produce a concrete proposal along these lines, we can certainly
consider it.


But I also want to point out that there are nine other C++17 papers for
which no proposal has yet been made.

For N4190 (removing old stuff) and N4258 (cleaning up noexcept), if no one
from SG10 makes a proposal pretty soon, I'm going to contact the authors to
see what kind of ideas they have.

--
Clark Nelson            Chair, PL22.16 (ANSI C++ standard committee)
Intel Corporation       Chair, SG10 (C++ SG for feature-testing)
<a class="moz-txt-link-abbreviated" href="mailto:clark.nelson@intel.com">clark.nelson@intel.com</a>  Chair, CPLEX (C SG for parallel language extensions)
</pre>
      <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>
    <br>
    <tt>Finally looking at</tt><tt><br>
    </tt><tt>N4258: Cleaning-up noexcept in the Library</tt><tt><br>
    </tt><tt>The only thing I can think of that would be helpful is</tt><tt><br>
    </tt><tt>__cpp_lib_allocator_</tt><tt>is_always_equal</tt><tt><br>
    </tt><tt><br>
    </tt><tt>I think the actual application of noexcept to all the
      various containers don't lend themselves to a macro in a way that
      would help migration.  It seems the customization of
      is_always_equal is used inside noexcept to set the exception
      policy.  If __cpp_lib_allocator_is_always_equal is defined you
      know you have to provide and set non-default is_always_equal for
      user-defined stateful allocators.</tt><tt>  Similarly,
      user-defined containers could use the macro to migrate noexcept
      specification for their container methods.<br>
    </tt><tt><br>
    </tt><tt><br>
    </tt><tt>In my last email I was thinking out loud and maybe it
      looked chaotic to me this morning.<br>
      I would like to summarize my favored approaches:</tt><tt><br>
    </tt>
    <pre wrap="">N4267 (u8 character literals)
        __cpp_unicode_characters                201411


N4190 (removing old stuff)
<pre>        __cpp_lib_remove_auto_ptr                201411

        __cpp_lib_remove_random_shuffle                201411

            __cpp_lib_remove_deprecated_functionals        201411</pre><pre>        __cpp_lib_remove_deprecated_bind        201411</pre></pre>
    <tt>These would get date bumps if/when std::not_fun etc. or
      std::bind is removed.</tt><tt><br>
      I am slightly annoyed that the fist two don't have _deprecated_
      but they look nice to me as they are.<br>
    </tt><tt><br>
    </tt><tt><br>
    </tt><tt>N4279 - Improved insertion interface for unique-key maps</tt><tt><br>
    </tt>
    <pre>        __cpp_lib_map_insertion                        201411</pre>
    <pre>        __cpp_lib_unordered_map_insertion        201411</pre>
    <tt><br>
    </tt><tt>N4051</tt><tt> Allow typename in a template template
      parameter</tt><tt><br>
    </tt>
    <pre>        __cpp_typename_in_template_template_parm        201411
</pre>
    <tt>This may be too little to mess with.</tt><br>
    <br>
    <tt><br>
    </tt><tt>N4268 - Allow constant evaluation for all non-type template
      arguments</tt><tt><br>
    </tt>
    <pre>__cpp_const_eval_of_non_type_template_args</pre>
    <tt> </tt><tt><br>
    </tt><tt> </tt><tt><br>
    </tt><tt>N4230 - Nested namespace definition</tt><tt><br>
    </tt>
    <pre>        __cpp_nested_namespace_definitions        201411
</pre>
    <tt>I like this better than __cpp_nested_namespaces that I had
      before.
    </tt><br>
    <tt><br>
      <br>
    </tt><tt>N3922 - </tt><tt>New Rules for auto deduction from
      braced-init-list</tt><tt><br>
    </tt>
    <pre>        __cpp_auto_deduction                        200604                for C++11</pre>
    <tt></tt>
    <pre>        __cpp_auto_deduction                        201411                for C++17</pre>
    <pre>This could be an alternate spelling of <code>__cpp_return_type_deduction</code>:
        __cpp_auto_deduction                        201304                for C++14</pre>
    <tt><br>
    </tt><tt>Ed<br>
      <br>
      <br>
    </tt>
  </body>
</html>