Closed tcbrindle closed 8 months ago
All modified and coverable lines are covered by tests :white_check_mark:
Comparison is base (
b54eb3f
) 97.99% compared to head (b9fb820
) 97.99%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
For a sequence S,
const_iterable_sequence<S>
means we can useS const
as a sequence with the expected semantics.Specifically, we require that:
S const
is a sequenceS
andS const
have the same cursor type and the same value typeS
andS const
have the sameconst_element_type
multipass
,bidirectional
etc), excludingread_only_sequence
, bothS
andS const
must satisfy the concept or both must not satisfy the concept. For example, ifS
is bidirectional thenS const
must be bidirectional and vice versaS
modelsread_only_sequence
thenS const
must modelread_only_sequence
-- that is,S const
may strengthen the const-qualification of elements but not weaken itS const
yields "the same elements" as iterating overS
(but let's gloss over exactly how we define "same"...)We've previously assumed all of these things are true (except possibly the
const_element_t
requirement), but it's good to have them checked by the compiler where we can.