std::ranges::view_interface<D>::front
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*に依存します。
以下と同等ですreturn *ranges::begin(derived); 。ここでderivedは次の通りです。
static_cast<D&>(*this)static_cast<const D&>(*this)
|
|
(C++26未満) |
|
|
(C++26以降) |
戻り値
ビューの最初の要素。
注記
C++20では、標準ライブラリ内の
std::ranges::view_interface
から派生した型は、独自の
front()
メンバ関数を提供していません。これらの型のほとんどすべてがデフォルトの実装を使用しています。
注目すべき例外は
std::ranges::basic_istream_view
です。これは決して
forward_range
を満たさないため、ビューは継承された
front()
を使用できません。
継承された
front()
メンバー関数は
std::ranges::empty_view
で利用可能ですが、これを呼び出すと常に未定義動作が発生します。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
(C++11)
(C++14)
|
コンテナまたは配列の先頭を指すイテレータを返す
(関数テンプレート) |
|
(C++20)
|
範囲の先頭を指すイテレータを返す
(カスタマイゼーションポイントオブジェクト) |
|
(C++20)
|
読み取り専用範囲の先頭を指すイテレータを返す
(カスタマイゼーションポイントオブジェクト) |