This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] LWG 2440 std::seed_seq::size() should be noexcept
- From: Jonathan Wakely <jwakely at redhat dot com>
- To: libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Wed, 13 May 2015 13:25:43 +0100
- Subject: [patch] LWG 2440 std::seed_seq::size() should be noexcept
- Authentication-results: sourceware.org; auth=none
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 <jwakely@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;
};