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
(
)
требует ranges:: forward_range < D > ; |
(1) | (начиная с C++20) |
|
constexpr
decltype
(
auto
)
front
(
)
const
требует 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)
|
возвращает итератор на начало диапазона только для чтения
(объект точки кастомизации) |