This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
noexcept move on containers (e.g. list)
- From: Kenny Simpson <theonetruekenny at yahoo dot com>
- To: "libstdc++ at gcc dot gnu dot org" <libstdc++ at gcc dot gnu dot org>
- Date: Tue, 17 Sep 2013 21:42:02 -0700 (PDT)
- Subject: noexcept move on containers (e.g. list)
- Authentication-results: sourceware.org; auth=none
- Reply-to: Kenny Simpson <theonetruekenny at yahoo dot com>
http://channel9.msdn.com/Events/GoingNative/2013/An-Effective-Cpp11-14-Sampler
at 48:40, Scott goes into pointing out that none of the Standard containers are defined as having noexcept move constructors, and that fishing around in the Standard library will show very few noexcept things... but as of current trunk, I do see that many of these noexcept specifiers were added in 2011 (c95bf15b in the git mirror).
STL explains something about why these are not noexcept in the Standard (and presumably also in VC++'s library), but the audio is too low for me to make out what he says.
A Scott stresses that noexcept is a property of the interface, is gcc just taking some freedom in making its implementation more strict than required by the Standard?
which seems fine as of: "17.6.5.12 Restrictions on exception handling
...ÂÂAn implementation may strengthen the exception-speciïcation
for a non-virtual function by adding a non-throwing noexcept-speciïcation."
-Kenny