std::ranges:: approximately_sized_range
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
|
定義済みヘッダー
<ranges>
|
||
|
template
<
class
T
>
concept approximately_sized_range
=
ranges::
range
<
T
>
&&
|
(C++26以降) | |
approximately_sized_range
コンセプトは、
range
型の要件を指定します。この要件は、
reserve_hint
関数を使用して一定時間でサイズを推定できる範囲型に関するものです。
目次 |
セマンティック要件
型
std::
remove_reference_t
<
T
>
の左辺値
t
が与えられたとき、
T
が
approximately_sized_range
をモデル化するのは、次の条件が満たされる場合に限ります
- ranges :: reserve_hint ( t )
-
- 償却定数時間の計算量を持ち、
- 等価性保存 式から観測可能な方法で t の値を変更せず、
- 値が非負であり ranges:: range_difference_t < T > で表現可能である
-
if
ranges::
iterator_t
<
T
>
が
forward_iteratorをモデル化する場合、 ranges :: reserve_hint ( t ) は ranges:: begin ( t ) の評価結果に関わらず適切に定義される(つまり、シングルパスでおおよそのサイズがわかる範囲は、beginの最初の呼び出し前のみreserve_hintの呼び出しをサポートする可能性があるが、フォワード範囲は常にサイズをサポートしなければならない)。
注記
| 機能テスト マクロ | 値 | 標準 | 機能 |
|---|---|---|---|
__cpp_lib_ranges_reserve_hint
|
202502L
|
(C++26) | ranges::approximately_sized_range |
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
(C++20)
|
範囲がそのサイズを定数時間で知ることができることを指定する
(コンセプト) |