名前空間
変種
操作

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

From cppreference.com
 
 
Rangesライブラリ
Rangeアダプタ
 
 
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以降)

派生型ビューの最初の要素を返します。要素が値で返されるか参照で返されるかは、イテレータ型のoperator*に依存します。

1) derivedstatic_cast<D&>(*this) とします。 return *ranges::begin(derived); と同等です。 empty()true の場合(つまり、開始イテレータがセンチネルと等しい場合)、同じ方法で取得されたイテレータが間接参照可能であっても、動作は未定義です。
2) (1) と同じですが、derivedstatic_cast<const D&>(*this) です。

目次

[edit] Parameters

(なし)

[edit] Return value

ビューの最初の要素。

[edit] Notes

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

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

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

[edit] Example

[edit] See also

(C++11)(C++14)
コンテナまたは配列の先頭を指すイテレータを返す
(関数テンプレート) [編集]
rangeの先頭を指すイテレータを返す
(カスタマイゼーションポイントオブジェクト)[編集]
読み取り専用rangeの先頭を指すイテレータを返す
(カスタマイゼーションポイントオブジェクト)[編集]
English 日本語 中文(简体) 中文(繁體)