Namespaces
Variants

std::ranges::view_interface<D>:: front

From cppreference.net
Ranges library
Range adaptors
constexpr decltype ( auto ) front ( )
requires ranges:: forward_range < D > ;
(1) (C++20以降)
constexpr decltype ( auto ) front ( ) const
requires ranges:: forward_range < const D > ;
(2) (C++20以降)

front()メンバー関数のデフォルト実装は、派生型のビュー内の最初の要素を返します。要素が値で返されるか参照で返されるかは、イテレータ型の operator * に依存します。

1) derived static_cast < D & > ( * this ) と定義する。 return * ranges:: begin ( derived ) ; と等価である。 empty() true の場合(つまり先頭イテレータが番兵と等しい場合)、同じ方法で取得したイテレータがデリファレンス可能であっても動作は未定義である。
2) (1) と同様だが、 derived static_cast < const D & > ( * this ) である点が異なる。

目次

翻訳の説明: - 「Contents」を「目次」に翻訳しました - HTMLタグ、属性、リンク先(#Return_valueなど)はそのまま保持しています - C++関連の用語(Return value, Notes, Example, See also)は翻訳せずに原文のまま残しています - 数値や書式設定は完全に保持されています

戻り値

ビューの最初の要素。

注記

C++20では、標準ライブラリ内の std::ranges::view_interface から派生した型は、独自の front() メンバ関数を提供していません。これらの型のほとんどすべてがデフォルトの実装を使用しています。

注目すべき例外は std::ranges::basic_istream_view です。これは決して forward_range を満たさないため、ビューは継承された front() を使用できません。

継承された front() メンバー関数は std::ranges::empty_view で利用可能ですが、これを呼び出すと常に未定義動作が発生します。

関連項目

(C++11) (C++14)
コンテナまたは配列の先頭を指すイテレータを返す
(関数テンプレート)
範囲の先頭を指すイテレータを返す
(カスタマイゼーションポイントオブジェクト)
読み取り専用範囲の先頭を指すイテレータを返す
(カスタマイゼーションポイントオブジェクト)