最終更新日時:
が更新

履歴 編集

function
<ranges>

std::ranges::concat_view::reserve_hint(C++26)

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

処理系

関連項目

参照