Namespaces
Variants

std::ranges:: iterator_t, std::ranges:: const_iterator_t, std::ranges:: sentinel_t, std::ranges:: const_sentinel_t

From cppreference.net
Ranges library
Range adaptors
ヘッダーで定義 <ranges>
template < class T >
using iterator_t = decltype ( ranges:: begin ( std:: declval < T & > ( ) ) ) ;
(1) (C++20以降)
template < ranges:: range R >
using const_iterator_t = decltype ( ranges:: cbegin ( std:: declval < R & > ( ) ) ) ;
(2) (C++23以降)
template < ranges:: range R >
using sentinel_t = decltype ( ranges:: end ( std:: declval < R & > ( ) ) ) ;
(3) (C++20以降)
template < ranges:: range R >
using const_sentinel_t = decltype ( ranges:: cend ( std:: declval < R & > ( ) ) ) ;
(4) (C++23以降)
1) T のイテレータ型を取得するために使用されます。
2) 範囲型 range の定数イテレータ型を取得するために使用されます。 R .
3) 範囲型 R のセンチネル型を取得するために使用されます。
4) 範囲型 R の定数センチネル型を取得するために使用されます。

目次

テンプレートパラメータ

T - std::ranges::begin で使用可能な型
R - range 型または sized_range

注記

iterator_t は非範囲型にも適用可能です。例えば、境界が不明な配列など。

不具合報告

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

DR 適用対象 公開時の動作 正しい動作
LWG 3946 C++23 const_iterator_t const_sentinel_t
それぞれ ranges::cbegin ranges::cend の結果と
一貫性がなかった
調整された

関連項目

イテレータの関連型を計算する
(エイリアステンプレート)
範囲のサイズ、差分、および値の型を取得する
(エイリアステンプレート)
範囲の参照型を取得する
(エイリアステンプレート)