http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4383.html#2440
This was resolved as a defect and voted into the working paper in Lenexa. As an extension we can also make the default constructor noexcept. Tested powerpc64le-linux, committed to trunk.
commit 1629bfd40e615b5130d72d9759ca82cfca8f74d2 Author: Jonathan Wakely <jwak...@redhat.com> Date: Wed May 13 13:13:37 2015 +0100 * include/bits/random.h (seed_seq): More noexcept (LWG 2440). diff --git a/libstdc++-v3/include/bits/random.h b/libstdc++-v3/include/bits/random.h index 501243d..5905e60 100644 --- a/libstdc++-v3/include/bits/random.h +++ b/libstdc++-v3/include/bits/random.h @@ -6023,13 +6023,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION */ class seed_seq { - public: /** The type of the seed vales. */ typedef uint_least32_t result_type; /** Default constructor. */ - seed_seq() + seed_seq() noexcept : _M_v() { } @@ -6045,7 +6044,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION generate(_RandomAccessIterator __begin, _RandomAccessIterator __end); // property functions - size_t size() const + size_t size() const noexcept { return _M_v.size(); } template<typename OutputIterator> @@ -6058,7 +6057,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION seed_seq& operator=(const seed_seq&) = delete; private: - /// std::vector<result_type> _M_v; };