Namespaces
Variants

std::ranges::range_reference_t, std::ranges::range_const_reference_t, std::ranges::range_rvalue_reference_t, std::ranges::range_common_reference_t

ja.cppreference.net より
 
 
Ranges ライブラリ
Range アダプタ
 
ヘッダ <ranges>
template< ranges::range R >
using range_reference_t = std::iter_reference_t<ranges::iterator_t<R>>;
で定義 (1) (C++20 以上)
template< ranges::range R >
using range_const_reference_t =
    std::iter_const_reference_t<ranges::iterator_t<R>>;
(2) (C++23 以上)
template< ranges::range R >
using range_rvalue_reference_t =
    std::iter_rvalue_reference_t<ranges::iterator_t<R>>;
(3) (C++20 以上)
template< ranges::range R >
using range_common_reference_t =
    std::iter_common_reference_t<ranges::iterator_t<R>>;
(4) (C++20 以上)
1) range 型 R のイテレータ型の参照型を取得するために使用されます。
2) range 型 R のイテレータ型の const 参照型を取得するために使用されます。
3) range 型 R のイテレータ型の右辺値参照型を取得するために使用されます。
4) range 型 R のイテレータ型の共通参照型を取得するために使用されます。

テンプレートパラメータ

R - range 型または sized_range

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 3860 C++20 range_common_reference_t が欠落していた 追加された

関連項目

イテレータの関連型を計算する
(エイリアステンプレート)
範囲のイテレータとセンチネル型を取得する
(エイリアステンプレート)
範囲のサイズ、差分、値の型を取得する
(エイリアステンプレート)