Namespaces
Variants

guides de déduction pour std::ranges::iota_view

De fr.cppreference.net
 
 
Bibliothèque de ranges
Adaptateurs de range
 
 
Défini dans l'en-tête <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>;
(depuis C++20)

Ce guide de déduction est fourni pour iota_view afin de permettre la déduction à partir d'une valeur initiale et d'une valeur limite.

Pour les définitions de /*is-integer-like*/ et /*is-signed-integer-like*/, voir is-integer-like .

Notez que le guide se protège contre les bogues provenant d'une discordance de signe, comme views::iota(0, v.size()), où 0 est signé et v.size() est non signé.

Exemple

#include <cassert>
#include <ranges>
int main()
{
    auto io = std::ranges::iota_view(1L, 7L); // déduit W et Bound comme « long »
    assert(io.front() == 1L and io.back() == 6L);
}