std::ranges::view_interface<D>:: front
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
| Member functions | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
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
*
。
derived
为
static_cast
<
D
&
>
(
*
this
)
。等价于
return
*
ranges::
begin
(
derived
)
;
。若
empty()
为
true
(即起始迭代器与哨位比较相等),则行为未定义,即使以相同方式获取的迭代器可解引用。
derived
是
static_cast
<
const
D
&
>
(
*
this
)
。
目录 |
返回值
视图中的第一个元素。
注释
在 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)
|
返回指向只读范围起始位置的迭代器
(定制点对象) |