std::ranges::zip_view<Views...>:: end
|
constexpr
auto
end
(
)
requires ( ! ( /*simple-view*/ < Views > && ... ) ; |
(1) | (начиная с C++23) |
|
constexpr
auto
end
(
)
const
requires ( ranges:: range < const Views > && ... ) ; |
(2) | (начиная с C++23) |
|
template
<
class
...
Rs
>
concept
/*zip-is-common*/
=
|
(3) | ( только для экспозиции* ) |
Возвращает
iterator
или
sentinel
, который сравнивается с конечным итератором
zip_view
.
Пусть
views_
обозначает базовый кортеж представлений.
- return /*sentinel*/ < false > ( /*tuple-transform*/ ( ranges:: end , views_ ) ) ; ,
- если /*zip-is-common*/ < Views... > вычисляется в false . В противном случае,
- return begin ( ) + std:: iter_difference_t < /*iterator*/ < false >> ( size ( ) ) ; ,
- если ( ranges:: random_access_range < Views > && ... ) вычисляется в true . В противном случае,
- return /*iterator*/ < false > ( /*tuple-transform*/ ( ranges:: end , views_ ) ) ; .
- return /*sentinel*/ < true > ( /*tuple-transform*/ ( ranges:: end , views_ ) ) ; ,
- если /*zip-is-common*/ < const Views... > вычисляется в false . Иначе,
- return begin ( ) + std:: iter_difference_t < /*iterator*/ < true >> ( size ( ) ) ; ,
- если ranges:: random_access_range < const Views > && ... вычисляется в true . Иначе,
- return /*iterator*/ < true > ( /*tuple-transform*/ ( ranges:: end , views_ ) ) ; .
Содержание |
Параметры
(нет)
Возвращаемое значение
Итератор или страж, представляющий конец
zip_view
, как описано выше.
Примечания
ranges::
range
<
const
ranges::
zip_view
<
Views...
>>
моделируется тогда и только тогда, когда для каждого типа
Vi
в
Views...
,
const
Vi
моделирует
range
.
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
возвращает итератор на начало
(публичная функция-член) |
|
|
(C++20)
|
возвращает страж, указывающий на конец диапазона
(объект точки кастомизации) |