deduction guides for
std::ranges::iota_view
|
Range primitives | |||||||
|
Range concepts | |||||||||||||||||||
|
Range factories | |||||||||
|
Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Helper items | |||||||||||||||||
|
|
Defined in header
<ranges>
|
||
template
<
class
W,
class
Bound
>
requires
(
!
/*is-integer-like*/
<
W
>
||
|
(since C++20) | |
This
deduction guide
is provided for
iota_view
to allow deduction from an initial value and a bounding value.
For the definitions of /*is-integer-like*/ and /*is-signed-integer-like*/ , see is-integer-like .
Note that the guide protects itself against bugs arising from sign mismatch, like views:: iota ( 0 , v. size ( ) ) , where 0 is signed and v. size ( ) is unsigned.
Example
#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); }