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); // deduces W and Bound as “long” assert(io.front() == 1L and io.back() == 6L); }