名稱空間
變體
操作

std::ranges::zip_view<Views...>::end

來自 cppreference.com
< cpp‎ | ranges‎ | zip view
 
 
範圍庫 (Ranges library)
範圍介面卡 (Range adaptors)
 
 
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*/ =
    (sizeof...(Rs) == 1 && (ranges::common_range<Rs> && ...))
    ||
    (!(ranges::bidirectional_range<Rs> && ...) && (ranges::common_range<Rs> && ...))
    ||

    ((ranges::random_access_range<Rs> && ...) && (ranges::sized_range<Rs> && ...));
(3) (僅作說明*)

返回一個迭代器或一個哨兵,它們與zip_view的結束迭代器比較相等。

views_表示底層檢視元組。

1) 等價於
  • return /*sentinel*/<false>(/*tuple-transform*/(ranges::end, views_));,
如果/*zip-is-common*/<Views...>評估為false。否則,
如果(ranges::random_access_range<Views> && ...)評估為true。否則,
  • return /*iterator*/<false>(/*tuple-transform*/(ranges::end, views_));.
2) 等價於
  • return /*sentinel*/<true>(/*tuple-transform*/(ranges::end, views_));,
如果/*zip-is-common*/<const Views...>評估為false。否則,
如果ranges::random_access_range<const Views> && ...評估為true。否則,
  • return /*iterator*/<true>(/*tuple-transform*/(ranges::end, views_));.

目錄

[編輯] 引數

(無)

[編輯] 返回值

如上所述,表示zip_view末尾的迭代器或哨兵。

[編輯] 注意

ranges::range<const ranges::zip_view<Views...>>當且僅當Views...中的每個型別Vi都滿足const Vi滿足range時才被建模。

[編輯] 示例

[編輯] 參閱

返回指向起始的迭代器
(公共成員函式) [編輯]
返回指示範圍末尾的哨兵
(定製點物件)[編輯]