std::ranges::reserve_hint
来自cppreference.com
在标头 <ranges> 定义 | ||
在标头 <iterator> 定义 | ||
inlinenamespace/* 未指定 */{ inlineconstexprauto 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) | 返回等于范围大小的有符号整数 (定制点对象) |
指定范围可以常数时间估算大小 (概念) |