On 1 November 2013 11:48, Jonathan Wakely wrote: > On 1 November 2013 11:28, Marc Glisse wrote: >> On Fri, 1 Nov 2013, Jonathan Wakely wrote: >> >>> 2013-11-01 Jonathan Wakely <jwakely....@gmail.com> >>> >>> N3421 C++1y Transparent functors >>> * include/bits/stl_function.h (plus<void>, minus<void>, >>> multiplies<void>, divides<void>, modulus<void>, negate<void>, >>> equal_to<void>, not_equal_to<void>, greater<void>, less<void>, >>> greater_equal<void>, less_equal<void>, logical_and<void>, >>> logical_or<void>, logical_not<void>, bit_and<void>, bit_or<void>, >>> bit_xor<void>, bit_not<void>): Define. >> >> >> Thanks. Why use noexcept for everything except logical_not? > > Oops, because the regex I used to add noexcept only matched a > trailing-return-type on a line by itself, and I missed that one. I'll > fix it now, thanks!
Like so: 2013-11-01 Jonathan Wakely <jwakely....@gmail.com> * include/bits/stl_function.h (logical_not<void>): Add noexcept. Tested x86_64-linux, committed to trunk. Thanks to Marc for checking it.
commit a4d1b5296bb21fc8b522702c17c34098bfea36b7 Author: Jonathan Wakely <jwakely....@gmail.com> Date: Fri Nov 1 11:50:22 2013 +0000 * include/bits/stl_function.h (logical_not<void>): Add noexcept. diff --git a/libstdc++-v3/include/bits/stl_function.h b/libstdc++-v3/include/bits/stl_function.h index d2e5d13..e5eed06 100644 --- a/libstdc++-v3/include/bits/stl_function.h +++ b/libstdc++-v3/include/bits/stl_function.h @@ -554,7 +554,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { template <typename _Tp> auto - operator()(_Tp&& __t) const -> decltype(!std::forward<_Tp>(__t)) + operator()(_Tp&& __t) const + noexcept(noexcept(!std::forward<_Tp>(__t))) + -> decltype(!std::forward<_Tp>(__t)) { return !std::forward<_Tp>(__t); } typedef __is_transparent is_transparent;