std::ranges::iota_view
的推导指南
来自 cppreference.cn
定义于头文件 <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); // deduces W and Bound as “long” assert(io.front() == 1L and io.back() == 6L); }