Namespaces
Variants

std::ranges:: reserve_hint

From cppreference.net
Ranges library
Range adaptors
ヘッダーで定義 <ranges>
ヘッダーで定義 <iterator>
inline namespace /* unspecified */ {

inline constexpr auto reserve_hint = /* unspecified */ ;

}
(C++26以降)
(カスタマイゼーションポイントオブジェクト)
呼び出しシグネチャ
template < class T >

requires /* see below */

constexpr auto reserve_hint ( T && t ) ;
(C++26以降)

t 内の要素数を定数時間で推定します。

与えられた 部分式 において、 t が( 実体化された 可能性のある)結果オブジェクトを表し、 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 カスタマイゼーションポイントオブジェクト を表し、これは 関数オブジェクト のconstな リテラル semiregular クラス型である。詳細は CustomizationPointObject を参照のこと。

注記

ranges :: reserve_hint ( e ) が式 e に対して有効である場合、戻り値の型は integer-like です。

機能テスト マクロ 標準 機能
__cpp_lib_ranges_reserve_hint 202502L (C++26) ranges::reserve_hint

関連項目

範囲のサイズに等しい整数を返す
(カスタマイゼーションポイントオブジェクト)
範囲のサイズに等しい符号付き整数を返す
(カスタマイゼーションポイントオブジェクト)
範囲が定数時間でサイズを推定できることを指定する
(コンセプト)