std::ranges::reserve_hint
来自cppreference.com
在标头 <ranges> 定义
|
||
在标头 <iterator> 定义
|
||
inline namespace /* 未指定 */ { inline constexpr auto reserve_hint = /* 未指定 */; |
(C++26 起) (定制点对象) |
|
调用签名 |
||
template< class T > requires /* 见下文 */ |
(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) |
返回等于范围大小的有符号整数 (定制点对象) |
指定范围可以常数时间估算大小 (概念) |