constexpr auto reserve_hint()
requires (approximately_sized_range<Views> && ...); // (1) C++26
constexpr auto reserve_hint() const
requires (approximately_sized_range<const Views> && ...); // (2) C++26
概要
要素数の近似値を取得する。
concat_viewは連結するすべてのRangeの要素を並べるため、近似値は各Rangeのreserve_hintの総和となる。連結するすべてのViewがapproximately_sized_rangeであるときのみ提供される。
効果
以下と等価:
return apply(
[](auto... sizes) {
using CT = make-unsigned-like-t<common_type_t<decltype(sizes)...>>;
return (CT(sizes) + ...);
},
tuple-transform(ranges::reserve_hint, views_));
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: ??
- Visual C++: ??
関連項目
参照
- P2846R6
reserve_hint: Eagerly reserving memory for not-quite-sized lazy ranges - LWG Issue 4553. Wording for FR-025-246 25.7.18.2 Add a
reserve_hintfunction toconcat_view- C++26で
concat_viewにreserve_hintメンバ関数が追加された
- C++26で