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)
|
возвращает итератор на начало диапазона только для чтения
(объект точки кастомизации) |