Namespaces
Variants

std::ranges:: reserve_hint

From cppreference.net
Ranges library
Range adaptors
定义于头文件 <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 ( E ) 出现在模板实例化的直接上下文中时,上述可诊断的非法情况会导致 替换失败

目录

定制点对象

名称 ranges::reserve_hint 表示一个 定制点对象 ,它是一个字面量 semiregular 类类型的常量 函数对象 。详细信息请参阅 定制点对象

注释

当表达式 e 适用于 ranges :: reserve_hint ( e ) 时,其返回类型为 integer-like

功能测试 标准 功能
__cpp_lib_ranges_reserve_hint 202502L (C++26) ranges::reserve_hint

示例

参见

返回等于范围大小的整数值
(定制点对象)
返回等于范围大小的有符号整数值
(定制点对象)
指定范围能在常数时间内估算其大小
(概念)