|
MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
反向迭代器模板类 更多...
#include <reverse_iterator.hpp>
Public 类型 | |
| using | iterator_category = iter_category_t<Iterator> |
| 迭代器类别 | |
| using | value_type = iter_value_t<Iterator> |
| 值类型 | |
| using | difference_type = iter_difference_t<Iterator> |
| 差值类型 | |
| using | pointer = iter_pointer_t<Iterator> |
| 指针类型 | |
| using | reference = iter_reference_t<Iterator> |
| 引用类型 | |
Public 成员函数 | |
| constexpr | reverse_iterator ()=default |
| 默认构造函数 | |
| constexpr | reverse_iterator (Iterator x) noexcept(is_nothrow_move_constructible_v< Iterator >) |
| 从底层迭代器构造 | |
| template<typename U> | |
| constexpr | reverse_iterator (const reverse_iterator< U > &x) noexcept(is_nothrow_constructible_v< Iterator, const U & >) |
| 从其他类型的反向迭代器构造 | |
| template<typename U> | |
| constexpr reverse_iterator & | operator= (const reverse_iterator< U > &x) noexcept(is_nothrow_assignable< reverse_iterator &, const U & >::value) |
| 从其他类型的反向迭代器赋值 | |
| MSTL_CONSTEXPR20 | ~reverse_iterator () noexcept=default |
| 析构函数 | |
| MSTL_NODISCARD constexpr reference | operator* () const noexcept(is_nothrow_copy_assignable< Iterator >::value &&noexcept(*--(_MSTL declval< Iterator & >()))) |
| 解引用运算符 | |
| MSTL_NODISCARD constexpr pointer | operator-> () const noexcept(is_nothrow_copy_constructible< Iterator >::value &&noexcept(--(_MSTL declval< Iterator & >())) &&is_nothrow_arrow< Iterator &, pointer >::value) |
| 成员访问运算符 | |
| constexpr reverse_iterator & | operator++ () noexcept(noexcept(--current)) |
| 前缀递增运算符 | |
| constexpr reverse_iterator | operator++ (int) noexcept(is_nothrow_copy_constructible_v< Iterator > &&noexcept(--current)) |
| 后缀递增运算符 | |
| constexpr reverse_iterator & | operator-- () noexcept(noexcept(++current)) |
| 前缀递减运算符 | |
| constexpr reverse_iterator | operator-- (int) noexcept(is_nothrow_copy_constructible_v< Iterator > &&noexcept(++current)) |
| 后缀递减运算符 | |
| constexpr reverse_iterator | operator+ (const difference_type n) const noexcept(noexcept(reverse_iterator(current - n))) |
| 加法运算符 | |
| constexpr reverse_iterator & | operator+= (const difference_type n) noexcept(noexcept(current -=n)) |
| 复合加法赋值运算符 | |
| constexpr reverse_iterator | operator- (const difference_type n) const noexcept(noexcept(reverse_iterator(current+n))) |
| 减法运算符 | |
| constexpr reverse_iterator & | operator-= (const difference_type n) noexcept(noexcept(current+=n)) |
| 复合减法赋值运算符 | |
| constexpr reference | operator[] (const difference_type n) const noexcept(noexcept(_MSTL declcopy< reference >(reverse_iterator(current - n)))) |
| 下标运算符 | |
| MSTL_NODISCARD constexpr const Iterator & | base () const noexcept |
| 获取底层迭代器 | |
反向迭代器模板类
| Iterator | 底层迭代器类型 |
将双向迭代器包装为反向迭代器,使得递增操作变为递减,递减操作变为递增。 用于从容器末尾向开头反向遍历。
在文件 reverse_iterator.hpp 第 29 行定义.
|
inlineexplicitconstexprnoexcept |
|
inlineexplicitconstexprnoexcept |
从其他类型的反向迭代器构造
| U | 其他迭代器类型 |
| x | 其他反向迭代器 |
允许从兼容迭代器类型的反向迭代器构造。
在文件 reverse_iterator.hpp 第 67 行定义.
引用了 reverse_iterator().
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
加法运算符
| n | 前进距离 |
反向迭代器的前进对应底层迭代器的后退。
在文件 reverse_iterator.hpp 第 173 行定义.
引用了 reverse_iterator().
|
inlineconstexprnoexcept |
前缀递增运算符
反向迭代器的递增对应底层迭代器的递减。
在文件 reverse_iterator.hpp 第 126 行定义.
引用了 reverse_iterator().
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
减法运算符
| n | 后退距离 |
反向迭代器的后退对应底层迭代器的前进。
在文件 reverse_iterator.hpp 第 196 行定义.
引用了 reverse_iterator().
|
inlineconstexprnoexcept |
前缀递减运算符
反向迭代器的递减对应底层迭代器的递增。
在文件 reverse_iterator.hpp 第 149 行定义.
引用了 reverse_iterator().
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
从其他类型的反向迭代器赋值
| U | 其他迭代器类型 |
| x | 其他反向迭代器 |
在文件 reverse_iterator.hpp 第 82 行定义.
引用了 reverse_iterator().
|
inlineconstexprnoexcept |