std::ranges::reserve_hint
来自cppreference.com
| 在标头 <ranges> 定义
|
||
| 在标头 <iterator> 定义
|
||
| |
(C++26 起) (定制点对象) |
|
| 调用签名 |
||
| |
(C++26 起) | |
在常量时间内估计 t 的元素数。
给定其(可能经实质化的)结果对象以 t 表示的子表达式为 E,以及 E 的类型为 T:
- 如果
ranges::size(E)是合法表达式,那么ranges::reserve_hint(E)表达式等价于ranges::size(E)。 - 否则,如果
auto(t.reserve_hint())是合法的整数式类型表达式,那么ranges::reserve_hint(E)表达式等价于auto(t.reserve_hint())。 - 否则,如果满足以下所有条件,那么
ranges::reserve_hint(E)表达式等价于auto(reserve_hint(t)):T是类类型或枚举类型。auto(reserve_hint(t))是合法的表达式,其中reserve_hint的含义只能通过进行实参依赖查找来建立。
- 否则
ranges::reserve_hint(E)非良构。
以上非良构的情况能在 ranges::reserve_hint(t) 出现于模板实例化的立即语境中时会导致代换失败。
定制点对象
名字 ranges::reserve_hint 代表一个定制点对象,它是某个字面 semiregular 类类型的 const 函数对象。 细节参见定制点对象 (CustomizationPointObject) 。
注解
只要 ranges::reserve_hint(e) 对表达式 e 合法,那么返回类型是整数式类型。
| 功能特性测试宏 | 值 | 标准 | 功能特性 |
|---|---|---|---|
__cpp_lib_ranges_reserve_hint |
202502L |
(C++26) | ranges::reserve_hint |
示例
| 本节未完成 原因:暂无示例 |
参阅
(C++20) |
返回等于范围大小的整数 (定制点对象) |
(C++20) |
返回等于范围大小的有符号整数 (定制点对象) |
| 指定范围可以常数时间估算大小 (概念) |