направляющие вывода для std::ranges::iota_view
Определено в заголовке <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>;
| (начиная с C++20) |
Эта направляющая вывода предоставляется для iota_view, чтобы обеспечить вывод типа по начальному и граничному значениям.
Определения /*is-integer-like*/ и /*is-signed-integer-like*/ см. в is-integer-like .
Обратите внимание, что направляющая защищает от ошибок, возникающих из-за несовпадения знаков, например views::iota(0, v.size()), где 0 — знаковый тип, а v.size() — беззнаковый.
Пример
#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);
}
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/ranges/iota_view/deduction_guides