std::ranges::iota_view<W, Bound>::iterator
来自cppreference.com
template<class W, class Bound> struct /*iterator*/; |
||
iota_view::begin 的返回类型。
此类的名字(此处示作 /*iterator*/)是未指定的。
典型实现保有一个 W
类型数据成员(此处示作 value_):用于解引用的值。
它若 W 实现 __Advanceable 则此为 random_access_iterator ,若 W 实现 __Decrementable 则为 bidirectional_iterator ,若 W 实现 incrementable 则为 forward_iterator ,否则为 input_iterator 。然而它只是遗留输入迭代器 (LegacyInputIterator) 。
成员函数
std::ranges::iota_view::iterator::iterator
constexpr explicit iterator(W value); |
||
以 value 初始化仅用于阐释的数据成员 value_ 。此值将为 operator* 所返回并为 operator++ 所增加。
std::ranges::iota_view::iterator::operator*
constexpr W operator*() const noexcept(std::is_nothrow_copy_constructible_v<W>); |
||
按值返回当前值(换言之,这是只读视图)。
std::ranges::iota_view::iterator::operator++
constexpr iterator& operator++() |
(1) | |
constexpr void operator++(int) |
(2) | |
constexpr iterator operator++(int) requires std::incrementable<W>; |
(3) | |
1) 等价于 ++value_; return *this; 。
2) 等价于 ++value_; 。
3) 等价于 auto tmp = *this; ++value_; return tmp; 。
std::ranges::iota_view::iterator::operator--
constexpr iterator& operator--() requires __Decrementable<W>; |
(1) | |
constexpr iterator operator--(int) requires __Decrementable<W>; |
(2) | |
1) 等价于 --value_; return *this; 。
2) 等价于 auto tmp = *this; --value_; return tmp; 。
std::ranges::iota_view::iterator::operator[]
constexpr W operator[](difference_type n) const requires __Advanceable<W>; |
||
等价于 return W(value_ + n);
本节未完成 原因:其他期待迭代器具有的成员。 |