std::ranges::chunk_view<V>:: end
From cppreference.net
<
cpp
|
ranges
|
chunk view
C++
Ranges library
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
std::ranges::chunk_view
| Member functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
chunk_view::end
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
(C++26)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
V
が
input_range
のみをモデル化する場合
|
||
|
constexpr
std::
default_sentinel_t
end
(
)
const
noexcept
;
|
(1) | (C++23以降) |
V
が
forward_range
をモデル化する場合
|
||
|
constexpr
auto
end
(
)
requires
(
!
__simple_view
<
V
>
)
;
|
(2) | (C++23以降) |
|
constexpr
auto
end
(
)
const
requires
ranges::
forward_range
<
const
V
>
;
|
(3) | (C++23以降) |
iterator
または
std::default_sentinel
を返します。これは
chunk_view
の終端イテレータと等価比較されます。
2,3)
V
が
forward_range
をモデル化する場合に利用可能。
base_
を基になる適応済みビュー、
n_
を保存されたチャンクサイズ、
iterator
をネストされたイテレータクラスとする。
2)
次と同等
if constexpr (ranges::common_range<V> && ranges::sized_range<V>) { auto missing = (n_ - ranges::distance(base_) % n_) % n_; return iterator<false>(this, ranges::end(base_), missing); } else if constexpr (ranges::common_range<V> && !ranges::bidirectional_range<V>) return iterator<false>(this, ranges::end(base_)); else return std::default_sentinel;
3)
次と等価
if constexpr (ranges::common_range<const V> && ranges::sized_range<const V>) { auto missing = (n_ - ranges::distance(base_) % n_) % n_; return iterator<true>(this, ranges::end(base_), missing); } else if constexpr (ranges::common_range<const V> && !ranges::bidirectional_range<const V>) return iterator<true>(this, ranges::end(base_)); else return std::default_sentinel;
戻り値
chunk_view
の終端を表すイテレータまたはセンチネル(上記で説明されている通り)。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
先頭を指すイテレータを返す
(公開メンバ関数) |
|
|
(C++20)
|
範囲の終端を示すセンチネルを返す
(カスタマイゼーションポイントオブジェクト) |