Created on 2020-03-25.00:00:00 last changed 12 months ago
Proposed resolution:
This wording is relative to N4861.
Modify [rand.util.seedseq] as indicated:
class seed_seq { public: // types using result_type = uint_least32_t; // constructors seed_seq() noexcept; […] };
seed_seq() noexcept;-1- Postconditions: v.empty() is true.
-2- Throws: Nothing.template<class T> seed_seq(initializer_list<T> il);-3- Constraints
-4- Effects: Same as seed_seq(il.begin(), il.end()).Mandates: T is an integer type.
[ 2021-10-14 Approved at October 2021 virtual plenary. Status changed: Voting → WP. ]
[ 2021-06-23; Reflector poll ]
Set status to Tentatively Ready after five votes in favour during reflector poll.
[ 2020-04-18 Issue Prioritization ]
Priority to 3 after reflector discussion.
[rand.util.seedseq] says that std::seed_seq has following 3 constructors:
#1: seed_seq()
#2: template<class T> seed_seq(initializer_list<T> il)
#3: template<class InputIterator> seed_seq(InputIterator begin, InputIterator end)
#include <random> #include <vector> int main() { std::vector<int> v(32); std::seed_seq{std::begin(v), std::end(v)}; // error: #2 matched and T is not an integer type std::seed_seq(std::begin(v), std::end(v)); // OK }
#3 should be made available in list-initialization by changing Mandates in [rand.util.seedseq]/3 to Constraints IMO.
History | |||
---|---|---|---|
Date | User | Action | Args |
2023-11-22 15:47:43 | admin | set | status: wp -> c++23 |
2021-10-14 09:56:08 | admin | set | messages: + msg12118 |
2021-10-14 09:56:08 | admin | set | status: voting -> wp |
2021-09-29 12:57:28 | admin | set | status: ready -> voting |
2021-06-23 14:16:45 | admin | set | messages: + msg11955 |
2021-06-23 14:16:45 | admin | set | status: new -> ready |
2020-04-18 12:05:14 | admin | set | messages: + msg11219 |
2020-04-04 19:55:09 | admin | set | messages: + msg11194 |
2020-03-25 00:00:00 | admin | create |