MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
反向迭代器

反向遍历容器的迭代器适配器 更多...

class  reverse_iterator< Iterator >
 反向迭代器模板类 更多...

函数

template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr bool operator== (const reverse_iterator< Iterator1 > &x, const reverse_iterator< Iterator2 > &y) noexcept(noexcept(_MSTL declcopy< bool >(x.base()==y.base())))
 相等比较运算符
template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr bool operator!= (const reverse_iterator< Iterator1 > &x, const reverse_iterator< Iterator2 > &y) noexcept(noexcept(_MSTL declcopy< bool >(x.base() !=y.base())))
 不等比较运算符
template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr bool operator< (const reverse_iterator< Iterator1 > &x, const reverse_iterator< Iterator2 > &y) noexcept(noexcept(_MSTL declcopy< bool >(x.base() > y.base())))
 小于比较运算符
template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr bool operator> (const reverse_iterator< Iterator1 > &x, const reverse_iterator< Iterator2 > &y) noexcept(noexcept(_MSTL declcopy< bool >(x.base()< y.base())))
 大于比较运算符
template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr bool operator<= (const reverse_iterator< Iterator1 > &x, const reverse_iterator< Iterator2 > &y) noexcept(noexcept(_MSTL declcopy< bool >(x.base() >=y.base())))
 小于等于比较运算符
template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr bool operator>= (const reverse_iterator< Iterator1 > &x, const reverse_iterator< Iterator2 > &y) noexcept(noexcept(_MSTL declcopy< bool >(x.base()<=y.base())))
 大于等于比较运算符
template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr decltype(auto) operator- (const reverse_iterator< Iterator1 > &x, const reverse_iterator< Iterator2 > &y) noexcept(noexcept(y.base() - x.base()))
 距离运算符
template<typename Iterator>
constexpr reverse_iterator< Iterator > operator+ (iter_difference_t< Iterator > n, const reverse_iterator< Iterator > &x) noexcept(noexcept(x+n))
 与整数相加的运算符
template<typename Iterator>
MSTL_NODISCARD constexpr reverse_iterator< Iterator > make_reverse_iterator (Iterator it) noexcept(is_nothrow_move_constructible_v< Iterator >)
 创建反向迭代器

详细描述

反向遍历容器的迭代器适配器

函数说明

◆ make_reverse_iterator()

template<typename Iterator>
MSTL_NODISCARD constexpr reverse_iterator< Iterator > make_reverse_iterator ( Iterator it)
constexprnoexcept

创建反向迭代器

模板参数
Iterator迭代器类型
参数
it底层迭代器
返回
包装该迭代器的反向迭代器

在文件 reverse_iterator.hpp384 行定义.

引用了 _MSTL , 以及 move().

◆ operator!=()

template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr bool operator!= ( const reverse_iterator< Iterator1 > & x,
const reverse_iterator< Iterator2 > & y )
constexprnoexcept

不等比较运算符

模板参数
Iterator1第一个反向迭代器类型
Iterator2第二个反向迭代器类型
参数
x第一个反向迭代器
y第二个反向迭代器
返回
如果两个反向迭代器指向不同位置则返回true

在文件 reverse_iterator.hpp259 行定义.

引用了 _MSTL , 以及 MSTL_STANDARD_20__.

◆ operator+()

template<typename Iterator>
reverse_iterator< Iterator > operator+ ( iter_difference_t< Iterator > n,
const reverse_iterator< Iterator > & x )
constexprnoexcept

与整数相加的运算符

模板参数
Iterator反向迭代器类型
参数
n距离
x反向迭代器
返回
前进n个位置后的反向迭代器

在文件 reverse_iterator.hpp370 行定义.

◆ operator-()

template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr decltype(auto) operator- ( const reverse_iterator< Iterator1 > & x,
const reverse_iterator< Iterator2 > & y )
constexprnoexcept

距离运算符

模板参数
Iterator1第一个反向迭代器类型
Iterator2第二个反向迭代器类型
参数
x第一个反向迭代器
y第二个反向迭代器
返回
两个反向迭代器之间的距离
注解
对于反向迭代器,x - y = y.base() - x.base()

在文件 reverse_iterator.hpp356 行定义.

◆ operator<()

template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr bool operator< ( const reverse_iterator< Iterator1 > & x,
const reverse_iterator< Iterator2 > & y )
constexprnoexcept

小于比较运算符

模板参数
Iterator1第一个反向迭代器类型
Iterator2第二个反向迭代器类型
参数
x第一个反向迭代器
y第二个反向迭代器
返回
如果第一个反向迭代器在第二个之前则返回true
注解
对于反向迭代器,x < y 当且仅当 x.base() > y.base()

在文件 reverse_iterator.hpp279 行定义.

引用了 _MSTL , 以及 MSTL_STANDARD_20__.

◆ operator<=()

template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr bool operator<= ( const reverse_iterator< Iterator1 > & x,
const reverse_iterator< Iterator2 > & y )
constexprnoexcept

小于等于比较运算符

模板参数
Iterator1第一个反向迭代器类型
Iterator2第二个反向迭代器类型
参数
x第一个反向迭代器
y第二个反向迭代器
返回
如果第一个反向迭代器不在第二个之后则返回true

在文件 reverse_iterator.hpp317 行定义.

引用了 _MSTL , 以及 MSTL_STANDARD_20__.

◆ operator==()

template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr bool operator== ( const reverse_iterator< Iterator1 > & x,
const reverse_iterator< Iterator2 > & y )
constexprnoexcept

相等比较运算符

模板参数
Iterator1第一个反向迭代器类型
Iterator2第二个反向迭代器类型
参数
x第一个反向迭代器
y第二个反向迭代器
返回
如果两个反向迭代器指向相同位置则返回true

在文件 reverse_iterator.hpp240 行定义.

引用了 _MSTL , 以及 MSTL_STANDARD_20__.

◆ operator>()

template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr bool operator> ( const reverse_iterator< Iterator1 > & x,
const reverse_iterator< Iterator2 > & y )
constexprnoexcept

大于比较运算符

模板参数
Iterator1第一个反向迭代器类型
Iterator2第二个反向迭代器类型
参数
x第一个反向迭代器
y第二个反向迭代器
返回
如果第一个反向迭代器在第二个之后则返回true

在文件 reverse_iterator.hpp298 行定义.

引用了 _MSTL , 以及 MSTL_STANDARD_20__.

◆ operator>=()

template<typename Iterator1, typename Iterator2>
MSTL_NODISCARD constexpr bool operator>= ( const reverse_iterator< Iterator1 > & x,
const reverse_iterator< Iterator2 > & y )
constexprnoexcept

大于等于比较运算符

模板参数
Iterator1第一个反向迭代器类型
Iterator2第二个反向迭代器类型
参数
x第一个反向迭代器
y第二个反向迭代器
返回
如果第一个反向迭代器不在第二个之前则返回true

在文件 reverse_iterator.hpp336 行定义.

引用了 _MSTL , 以及 MSTL_STANDARD_20__.