std::ranges::chunk_view<V>::outer-iterator::value_type

在标头 <ranges> 定义
struct value_type : view_interface<value_type>
(C++23 起)

迭代器 chunk_view::outer-iterator 的值类型,当 V 实现 input_range 时成立。

数据成员

成员对象 定义
parent_ (私有) 指向类型为 ranges::chunk_view* 的“父对象”的指针
(仅用于阐述的成员对象*)

成员函数

(C++23)
构造 value_type
(公开成员函数)
(C++23)
返回起始的chunk_view::inner-iterator
(公开成员函数)
(C++23)
返回默认哨位
(公开成员函数)
(C++23)
返回视图大小
(公开成员函数)
继承自 std::ranges::view_interface
返回视图是否为空。仅当视图满足 forward_range 时提供。
(std::ranges::view_interface<D> 的公开成员函数)
(C++23)
返回指向范围起始的常量迭代器。
(std::ranges::view_interface<D> 的公开成员函数)
(C++23)
返回对应于范围常量迭代器的哨位。
(std::ranges::view_interface<D> 的公开成员函数)
返回派生视图是否为非空。仅当 ranges::empty 可应用于它时提供。
(std::ranges::view_interface<D> 的公开成员函数)

std::ranges::chunk_view::outer-iterator::value_type::value_type

private:

// 仅用于阐释

constexpr explicit value_type( chunk_view& parent );
(C++23 起)

构造 value_type 对象,以便 parent_std::addressof(parent) 初始化。

参数

parent - chunk_view 对象

std::ranges::chunk_view::outer-iterator::value_type::begin

constexpr /*inner-iterator*/ begin() const noexcept;
(C++23 起)

等价于 return /*inner-iterator*/(*parent_);

std::ranges::chunk_view::outer-iterator::value_type::end

constexpr std::default_sentinel_t end() const noexcept;
(C++23 起)

等价于 return std::default_sentinel;

std::ranges::chunk_view::outer-iterator::value_type::size

constexpr auto size() const
    requires std::sized_sentinel_for<ranges::sentinel_t<V>, ranges::iterator_t<V>>;
(C++23 起)

返回视图的大小。

等价于
return /*to-unsigned-like*/(
    ranges::min(parent_->remainder_, ranges::end(parent_->base_) - *parent_->current_));

示例

引用

  • C++23 标准(ISO/IEC 14882:2024):
  • 26.7.28.4 Class chunk_view::outer-iterator::value_type [range.chunk.outer.value]

参阅

(C++23)
V 实现 input_range 时,输出(“逐区块的”)迭代器类型
(仅用于阐述的 std::ranges::chunk_view<V> 的成员类*)
(C++23)
V 实现 input_range 时,内部(“逐元素的”)迭代器类型
(仅用于阐述的 std::ranges::chunk_view<V> 的成员类*)