constexpr auto reserve_hint(); // (1) C++26
constexpr auto reserve_hint() const; // (2) C++26
概要
要素数の近似値を取得する。
take_viewは元のRangeから先頭 N 個を取り出すため、近似値も「元のRangeのreserve_hintと N の最小値」となる。元のRangeがapproximately_sized_rangeでない場合は N を返す。
take_viewはsizeと同様、元のRangeがapproximately_sized_rangeでなくとも常にreserve_hintを提供する。
効果
以下と等価:
if constexpr (approximately_sized_range<V>) {
auto n = static_cast<range_difference_t<V>>(ranges::reserve_hint(base_));
return to-unsigned-like(ranges::min(n, count_));
}
return to-unsigned-like(count_);
バージョン
言語
- C++26
処理系
- Clang: 22 ❌
- GCC: 16.1 ❌
- Visual C++: 2026 Update 2 ❌