WG21-N4971 [rand.util.seedseq]/7:
template<class RandomAccessIterator>
void generate(RandomAccessIterator begin, RandomAccessIterator end);
Mandates: iterator_traits<RandomAccessIterator>::value_type is an unsigned integer type capable of accommodating 32-bit quantities.
We currently don't enforce this:
|
template <class _RanIt>
|
|
void generate(_RanIt _First, _RanIt _Last) const { // generate randomized interval from seeds
|
|
_Adl_verify_range(_First, _Last);
|
|
auto _UFirst = _Get_unwrapped(_First);
|
|
const auto _Nx = static_cast<size_t>(_Get_unwrapped(_Last) - _UFirst);
|
WG21-N4971 [rand.util.seedseq]/7:
We currently don't enforce this:
STL/stl/inc/random
Lines 180 to 184 in 8b081e2