std::ranges::iota_view
的推导指引
来自cppreference.com
在标头 <ranges> 定义
|
||
template< class W, class Bound > requires (!/*is-integer-like*/<W> || |
(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); // W 和 Bound 推导为 long assert(io.front() == 1L and io.back() == 6L); }