Created on 2024-11-27.00:00:00 last changed 2 weeks ago
[ 2024-12-04 Status changed: New → NAD Editorial. ]
There are a numerous algorithms that mandate an iterator is "writable ([iterator.requirements.general])": e.g., for the `std::fill` algorithm, [alg.fill] 26.7.6p2
Mandates: The expression value is writable ([iterator.requirements.general]) to the output iterator.
However, checking [iterator.requirements.general] I can find no definition for the term "writable". Checking past standards, I found that in C++17 we have the following definition:
An output iterator `i` has a non-empty set of types that are writable to the iterator;
However, when we introduced the concept-based iterator taxonomy, this definition was replaced by:
An output iterator `i` has a non-empty set of types that are `indirectly_writable` to the iterator;
where the term of power is no longer defined, but a concept is used to define the relationship between iterator and value instead. We need to either find and fix each reference to "writable" (or more properly "writable to" — the old term is a relationship between two types, not a property of just one) using the `indirectly_writable` concept, or restore a definition of the term of power — likely phrased in terms of the `indirectly_writable` concept.
Daniel: It seems that the editorial direction of P1878R1 accepted in Belfast 2019,Change stable name [iterator.concept.writable] to [iterator.concept.indirectly.writable] and globally replace all occurrences of "writable" (the concept) with "indirectly_writable"
has either been incorrectly applied [iterator.requirements.general] (because that position did not actually refer to the writable concept) or if the interpretation that the original writable definition from [iterator.requirements.general] was intended to be aliased with the writable concept this substitution has been incompletely applied to the working draft.
History | |||
---|---|---|---|
Date | User | Action | Args |
2024-12-04 15:12:46 | admin | set | messages: + msg14509 |
2024-12-04 15:12:46 | admin | set | status: new -> nad editorial |
2024-11-27 00:00:00 | admin | create |