Namespaces
Variants

Ableitungsregeln für std::ranges::iota_view

Von de.cppreference.net
 
 
Ranges-Bibliothek
Bereichsadaptoren
 
 
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

#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);
}