[SG10] Updates to SD-6

Ed Smith-Rowland 3dw4rd at verizon.net
Tue Jan 6 18:29:26 CET 2015


On 01/05/2015 04:29 PM, Nelson, Clark wrote:
> 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)
> clark.nelson at intel.com  Chair, CPLEX (C SG for parallel language extensions)
>
>
> _______________________________________________
> Features mailing list
> Features at isocpp.open-std.org
> http://www.open-std.org/mailman/listinfo/features

Finally looking at
N4258: Cleaning-up noexcept in the Library
The only thing I can think of that would be helpful is
__cpp_lib_allocator_is_always_equal

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.  Similarly, user-defined 
containers could use the macro to migrate noexcept specification for 
their container methods.


In my last email I was thinking out loud and maybe it looked chaotic to 
me this morning.
I would like to summarize my favored approaches:

N4267 (u8 character literals)
	__cpp_unicode_characters		201411


N4190 (removing old stuff)

	__cpp_lib_remove_auto_ptr		201411

	__cpp_lib_remove_random_shuffle		201411

     	__cpp_lib_remove_deprecated_functionals	201411

	__cpp_lib_remove_deprecated_bind	201411

These would get date bumps if/when std::not_fun etc. or std::bind is 
removed.
I am slightly annoyed that the fist two don't have _deprecated_ but they 
look nice to me as they are.


N4279 - Improved insertion interface for unique-key maps

	__cpp_lib_map_insertion			201411

	__cpp_lib_unordered_map_insertion	201411


N4051Allow typename in a template template parameter

	__cpp_typename_in_template_template_parm	201411

This may be too little to mess with.


N4268 - Allow constant evaluation for all non-type template arguments

__cpp_const_eval_of_non_type_template_args



N4230 - Nested namespace definition

	__cpp_nested_namespace_definitions	201411

I like this better than __cpp_nested_namespaces that I had before.


N3922 - New Rules for auto deduction from braced-init-list

	__cpp_auto_deduction			200604		for C++11

	__cpp_auto_deduction			201411		for C++17

This could be an alternate spelling of|__cpp_return_type_deduction|:
	__cpp_auto_deduction			201304		for C++14


Ed


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.open-std.org/pipermail/features/attachments/20150106/1e612a5a/attachment.html 


More information about the Features mailing list