std::ranges::reserve_hint

来自cppreference.com
< cpp‎ | ranges
 
 
范围库
范围适配器
 
在标头 <ranges> 定义
在标头 <iterator> 定义
inline namespace /* 未指定 */ {

    inline constexpr auto reserve_hint = /* 未指定 */;

}
(C++26 起)
(定制点对象)
调用签名
template< class T >

    requires /* 见下文 */

constexpr auto reserve_hint( T&& t );
(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

[编辑] 示例

[编辑] 参阅

返回等于范围大小的整数
(定制点对象) [编辑]
返回等于范围大小的有符号整数
(定制点对象) [编辑]
指定范围可以常数时间估算大小
(概念) [编辑]