tmp/tmp_rfkbo5s/{from.md → to.md}
RENAMED
|
@@ -51,17 +51,18 @@ shown in [[rand.req.seedseq]] are valid and have the indicated
|
|
| 51 |
semantics, and if `S` also meets all other requirements of this
|
| 52 |
subclause [[rand.req.seedseq]]. In that Table and throughout this
|
| 53 |
subclause:
|
| 54 |
|
| 55 |
- `T` is the type named by `S`’s associated `result_type`;
|
| 56 |
-
- `q` is a value of `S` and `r` is a
|
|
|
|
| 57 |
- `ib` and `ie` are input iterators with an unsigned integer
|
| 58 |
`value_type` of at least 32 bits;
|
| 59 |
- `rb` and `re` are mutable random access iterators with an unsigned
|
| 60 |
integer `value_type` of at least 32 bits;
|
| 61 |
- `ob` is an output iterator; and
|
| 62 |
-
- `il` is a value of `initializer_list<T>`.
|
| 63 |
|
| 64 |
#### Uniform random bit generator requirements <a id="rand.req.urng">[[rand.req.urng]]</a>
|
| 65 |
|
| 66 |
A *uniform random bit generator* `g` of type `G` is a function object
|
| 67 |
returning unsigned integer values such that each value in the range of
|
|
@@ -122,22 +123,22 @@ and have the indicated semantics, and if `E` also meets all other
|
|
| 122 |
requirements of this subclause [[rand.req.eng]]. In that Table and
|
| 123 |
throughout this subclause:
|
| 124 |
|
| 125 |
- `T` is the type named by `E`’s associated `result_type`;
|
| 126 |
- `e` is a value of `E`, `v` is an lvalue of `E`, `x` and `y` are
|
| 127 |
-
(possibly
|
| 128 |
- `s` is a value of `T`;
|
| 129 |
- `q` is an lvalue meeting the requirements of a seed sequence
|
| 130 |
[[rand.req.seedseq]];
|
| 131 |
- `z` is a value of type `unsigned long long`;
|
| 132 |
- `os` is an lvalue of the type of some class template specialization
|
| 133 |
`basic_ostream<charT,` `traits>`; and
|
| 134 |
- `is` is an lvalue of the type of some class template specialization
|
| 135 |
`basic_istream<charT,` `traits>`;
|
| 136 |
|
| 137 |
where `charT` and `traits` are constrained according to [[strings]] and
|
| 138 |
-
[[input.output]].
|
| 139 |
|
| 140 |
`E` shall meet the *Cpp17CopyConstructible* (
|
| 141 |
[[cpp17.copyconstructible]]) and *Cpp17CopyAssignable* (
|
| 142 |
[[cpp17.copyassignable]]) requirements. These operations shall each be
|
| 143 |
of complexity no worse than 𝑂(\text{size of state}).
|
|
@@ -233,17 +234,17 @@ indicated semantics, and if `D` and its associated types also meet all
|
|
| 233 |
other requirements of this subclause [[rand.req.dist]]. In that Table
|
| 234 |
and throughout this subclause,
|
| 235 |
|
| 236 |
- `T` is the type named by `D`’s associated `result_type`;
|
| 237 |
- `P` is the type named by `D`’s associated `param_type`;
|
| 238 |
-
- `d` is a value of `D`, and `x` and `y` are (possibly
|
| 239 |
-
|
| 240 |
- `glb` and `lub` are values of `T` respectively corresponding to the
|
| 241 |
greatest lower bound and the least upper bound on the values
|
| 242 |
potentially returned by `d`’s `operator()`, as determined by the
|
| 243 |
current values of `d`’s parameters;
|
| 244 |
-
- `p` is a (possibly
|
| 245 |
- `g`, `g1`, and `g2` are lvalues of a type meeting the requirements of
|
| 246 |
a uniform random bit generator [[rand.req.urng]];
|
| 247 |
- `os` is an lvalue of the type of some class template specialization
|
| 248 |
`basic_ostream<charT,` `traits>`; and
|
| 249 |
- `is` is an lvalue of the type of some class template specialization
|
|
@@ -256,11 +257,11 @@ where `charT` and `traits` are constrained according to [[strings]] and
|
|
| 256 |
[[cpp17.copyconstructible]]) and *Cpp17CopyAssignable* (
|
| 257 |
[[cpp17.copyassignable]]) requirements.
|
| 258 |
|
| 259 |
The sequence of numbers produced by repeated invocations of `d(g)` shall
|
| 260 |
be independent of any invocation of `os << d` or of any `const` member
|
| 261 |
-
function of `D` between any of the invocations `d(g)`.
|
| 262 |
|
| 263 |
If a textual representation is written using `os << x` and that
|
| 264 |
representation is restored into the same or a different object `y` of
|
| 265 |
the same type using `is >> y`, repeated invocations of `y(g)` shall
|
| 266 |
produce the same sequence of numbers as would repeated invocations of
|
|
|
|
| 51 |
semantics, and if `S` also meets all other requirements of this
|
| 52 |
subclause [[rand.req.seedseq]]. In that Table and throughout this
|
| 53 |
subclause:
|
| 54 |
|
| 55 |
- `T` is the type named by `S`’s associated `result_type`;
|
| 56 |
+
- `q` is a value of type `S` and `r` is a value of type `S` or
|
| 57 |
+
`const S`;
|
| 58 |
- `ib` and `ie` are input iterators with an unsigned integer
|
| 59 |
`value_type` of at least 32 bits;
|
| 60 |
- `rb` and `re` are mutable random access iterators with an unsigned
|
| 61 |
integer `value_type` of at least 32 bits;
|
| 62 |
- `ob` is an output iterator; and
|
| 63 |
+
- `il` is a value of type `initializer_list<T>`.
|
| 64 |
|
| 65 |
#### Uniform random bit generator requirements <a id="rand.req.urng">[[rand.req.urng]]</a>
|
| 66 |
|
| 67 |
A *uniform random bit generator* `g` of type `G` is a function object
|
| 68 |
returning unsigned integer values such that each value in the range of
|
|
|
|
| 123 |
requirements of this subclause [[rand.req.eng]]. In that Table and
|
| 124 |
throughout this subclause:
|
| 125 |
|
| 126 |
- `T` is the type named by `E`’s associated `result_type`;
|
| 127 |
- `e` is a value of `E`, `v` is an lvalue of `E`, `x` and `y` are
|
| 128 |
+
(possibly const) values of `E`;
|
| 129 |
- `s` is a value of `T`;
|
| 130 |
- `q` is an lvalue meeting the requirements of a seed sequence
|
| 131 |
[[rand.req.seedseq]];
|
| 132 |
- `z` is a value of type `unsigned long long`;
|
| 133 |
- `os` is an lvalue of the type of some class template specialization
|
| 134 |
`basic_ostream<charT,` `traits>`; and
|
| 135 |
- `is` is an lvalue of the type of some class template specialization
|
| 136 |
`basic_istream<charT,` `traits>`;
|
| 137 |
|
| 138 |
where `charT` and `traits` are constrained according to [[strings]] and
|
| 139 |
+
[[input.output]].[^2]
|
| 140 |
|
| 141 |
`E` shall meet the *Cpp17CopyConstructible* (
|
| 142 |
[[cpp17.copyconstructible]]) and *Cpp17CopyAssignable* (
|
| 143 |
[[cpp17.copyassignable]]) requirements. These operations shall each be
|
| 144 |
of complexity no worse than 𝑂(\text{size of state}).
|
|
|
|
| 234 |
other requirements of this subclause [[rand.req.dist]]. In that Table
|
| 235 |
and throughout this subclause,
|
| 236 |
|
| 237 |
- `T` is the type named by `D`’s associated `result_type`;
|
| 238 |
- `P` is the type named by `D`’s associated `param_type`;
|
| 239 |
+
- `d` is a value of `D`, and `x` and `y` are (possibly const) values of
|
| 240 |
+
`D`;
|
| 241 |
- `glb` and `lub` are values of `T` respectively corresponding to the
|
| 242 |
greatest lower bound and the least upper bound on the values
|
| 243 |
potentially returned by `d`’s `operator()`, as determined by the
|
| 244 |
current values of `d`’s parameters;
|
| 245 |
+
- `p` is a (possibly const) value of `P`;
|
| 246 |
- `g`, `g1`, and `g2` are lvalues of a type meeting the requirements of
|
| 247 |
a uniform random bit generator [[rand.req.urng]];
|
| 248 |
- `os` is an lvalue of the type of some class template specialization
|
| 249 |
`basic_ostream<charT,` `traits>`; and
|
| 250 |
- `is` is an lvalue of the type of some class template specialization
|
|
|
|
| 257 |
[[cpp17.copyconstructible]]) and *Cpp17CopyAssignable* (
|
| 258 |
[[cpp17.copyassignable]]) requirements.
|
| 259 |
|
| 260 |
The sequence of numbers produced by repeated invocations of `d(g)` shall
|
| 261 |
be independent of any invocation of `os << d` or of any `const` member
|
| 262 |
+
function of `D` between any of the invocations of `d(g)`.
|
| 263 |
|
| 264 |
If a textual representation is written using `os << x` and that
|
| 265 |
representation is restored into the same or a different object `y` of
|
| 266 |
the same type using `is >> y`, repeated invocations of `y(g)` shall
|
| 267 |
produce the same sequence of numbers as would repeated invocations of
|