Ableitungsregeln für std::ranges::iota_view
Von cppreference.com
| Definiert in der Header-Datei <ranges> |
||
| template< class W, class Bound > requires (!/*is-integer-like*/<W> || |
(seit C++20) | |
Diese Ableitungsregel wird für iota_view bereitgestellt, um die Ableitung aus einem Anfangswert und einem begrenzenden Wert 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 vor Fehlern schützt, die aus Nichtübereinstimmung von Vorzeichen resultieren, wie z. B. views::iota(0, v.size()), wobei 0 vorzeichenbehaftet ist und v.size() vorzeichenlos ist.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <cassert> #include <ranges> int main() { auto io = std::ranges::iota_view(1L, 7L); // deduces W and Bound as “long” assert(io.front() == 1L and io.back() == 6L); }