deduction guides for
std::ranges::iota_view
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
|
ヘッダーで定義
<ranges>
|
||
|
template
<
class
W,
class
Bound
>
requires
(
!
/*is-integer-like*/
<
W
>
||
|
(C++20以降) | |
この
deduction guide
は、
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); // WとBoundを「long」と推論 assert(io.front() == 1L and io.back() == 6L); }