Created on 2009-06-25.00:00:00 last changed 184 months ago
Proposed resolution:
In [rand.concept.urng], replace the NonemptyRange axiom by:
axiom NonemptyRange(G& g) { G::min() < G::max(); }requires True< G::min() < G::max() >;
[ Post-Rapperswil: ]
Moved to Tentatively Ready after 5 positive votes on c++std-lib.
In [rand.concept.urng], we have the following:
concept UniformRandomNumberGenerator<typename G> : Callable<G> {
...
axiom NonemptyRange(G& g) {
G::min() < G::max();
}
...
}
Since the parameter G is in scope throughout the concept, there is no need for the axiom to be further parameterized, and so the axiom can be slightly simplified as:
axiom NonemptyRange() {
G::min() < G::max();
}
We can further reformulate so as to avoid any axiom machinery as:
requires True< G::min() < G::max() >;
This is not only a simpler statement of the same requirement, but also forces the requirement to be checked.
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2010-10-21 19:06:53 | admin | set | messages: + msg4761 |
| 2010-10-21 18:28:33 | admin | set | messages: + msg919 |
| 2009-06-25 00:00:00 | admin | create | |