# std::ranges::transform_view<V,F>::end

< cpp‎ | ranges‎ | transform view

constexpr /*sentinel*/<false> end(); | (1) | (C++20 起)
constexpr /*iterator*/<false> end() requires ranges::common_range<V>; | (2) | (C++20 起)
constexpr /*sentinel*/<true> end() const requires ranges::range<const V> && std::regular_invocable<const F&, ranges::range_reference_t<const V>>; | (3) | (C++20 起)
constexpr /*iterator*/<true> end() const requires ranges::common_range<const V> && std::regular_invocable<const F&, ranges::range_reference_t<const V>>; | (4) | (C++20 起)

返回表示 `transform_view` 末尾的哨位或迭代器。

令 `base_` 表示底层视图：

1) 等价于 return /*sentinel*/<false>{ranges::end(base_)}; 。
2) 等价于 return /*iterator*/<false>{*this, ranges::end(base_)}; 。
3) 等价于 return /*sentinel*/<true>{ranges::end(base_)}; 。
4) 等价于 return /*iterator*/<true>{*this, ranges::end(base_)}; 。

### 参数

（无）

### 返回值

1,3) 与尾迭代器比较相等的哨位。
2,4) 指向末元素后一元素的迭代器。

### 注解

`end()` 返回迭代器当且仅当底层视图为 `common_range` ： `tranform_view<V,F>` 凡在 `V` 实现 `common_range` 时亦如此。

### 示例

| 本节未完成 原因：暂无示例

### 参阅

begin (C++20) | 返回指向起始的迭代器 (公开成员函数)