Ableitungsregeln für std::ranges::iota_view
Von de.cppreference.net
| Definiert in Header <ranges>
|
||
template< class W, class Bound >
requires (!/*is-integer-like*/<W> ||
!/*is-integer-like*/<Bound> ||
/*is-signed-integer-like*/<W> == /*is-signed-integer-like*/<Bound>)
iota_view( W, Bound ) -> iota_view<W, Bound>;
|
(seit C++20) | |
Diese Ableitungsregel wird für iota_view bereitgestellt, um die Ableitung von einem Anfangswert und einem Begrenzungswert zu ermöglichen.
Für die Definitionen von /*is-integer-like*/ und /*is-signed-integer-like*/ siehe is-integer-like .
Beachten Sie, dass die Regel sich selbst vor Fehlern schützt, die aus Vorzeichenkonflikten entstehen, wie views::iota(0, v.size()), wobei 0 vorzeichenbehaftet und v.size() vorzeichenlos ist.
Beispiel
Diesen Code ausführen
#include <cassert> #include <ranges> int main() { auto io = std::ranges::iota_view(1L, 7L); // leitet W und Bound als "long" ab assert(io.front() == 1L and io.back() == 6L); }