YSTest: ystdex::cpp2017::reverse_iterator< _tIter > 模板类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | Protected 属性 | Private 类型 | 友元 | 相关函数 | 所有成员列表
ystdex::cpp2017::reverse_iterator< _tIter > 模板类 参考

`#include <range.hpp>`

## Public 类型

using | iterator_type = _tIter
using | iterator_category = typename traits_type::iterator_category
using | value_type = typename traits_type::value_type
using | difference_type = typename traits_type::difference_type
using | pointer = typename traits_type::pointer
using | reference = typename traits_type::reference

## Public 成员函数

| reverse_iterator ()
| reverse_iterator (_tIter x)
template<class _tOther >
| reverse_iterator (const reverse_iterator< _tOther > &u)
template<class _tOther >
reverse_iterator & | operator= (const reverse_iterator< _tOther > &u)
_tIter | base () const
reference | operator* () const
pointer | operator-> () const
reverse_iterator & | operator++ ()
reverse_iterator | operator++ (int)
reverse_iterator & | operator-- ()
reverse_iterator | operator-- (int)
reverse_iterator & | operator+= (difference_type n)
reverse_iterator | operator+ (difference_type n) const
reverse_iterator & | operator-= (difference_type n)
reverse_iterator | operator- (difference_type n) const
reference | operator[] (difference_type n) const

## Protected 属性

_tIter | current

## Private 类型

using | traits_type = std::iterator_traits< _tIter >

## 友元

template<typename _tIter2 >
bool | operator== (const reverse_iterator &x, const reverse_iterator< _tIter2 > &y)
template<typename _tIter2 >
bool | operator< (const reverse_iterator &x, const reverse_iterator< _tIter2 > &y)
template<typename _tIter2 >
bool | operator!= (const reverse_iterator &x, const reverse_iterator< _tIter2 > &y)
template<typename _tIter2 >
bool | operator> (const reverse_iterator &x, const reverse_iterator< _tIter2 > &y)
template<typename _tIter2 >
bool | operator>= (const reverse_iterator &x, const reverse_iterator< _tIter2 > &y)
template<typename _tIter2 >
bool | operator<= (const reverse_iterator &x, const reverse_iterator< _tIter2 > &y)
reverse_iterator | operator+ (difference_type n, const reverse_iterator &x)

## 相关函数

(请注意: 这些不是成员函数.)
template<typename _tIter , typename _tIter2 >
auto | operator- (const reverse_iterator< _tIter > &x, const reverse_iterator< _tIter2 > &y) -> decltype(y.base() - x.base())

## 详细描述

### template<typename _tIter>
class ystdex::cpp2017::reverse_iterator< _tIter >

注解
  nodiscard 标记是类似 P0600R1 理由的兼容扩展。

参见
  WG21 P0031R0 。

在文件 range.hpp 第 115 行定义.

## 成员类型定义说明

## ◆ difference_type

template<typename _tIter >

using ystdex::cpp2017::reverse_iterator< _tIter >::difference_type = typename traits_type::difference_type

在文件 range.hpp 第 124 行定义.

## ◆ iterator_category

template<typename _tIter >

using ystdex::cpp2017::reverse_iterator< _tIter >::iterator_category = typename traits_type::iterator_category

在文件 range.hpp 第 122 行定义.

## ◆ iterator_type

template<typename _tIter >

using ystdex::cpp2017::reverse_iterator< _tIter >::iterator_type = _tIter

在文件 range.hpp 第 121 行定义.

## ◆ pointer

template<typename _tIter >

using ystdex::cpp2017::reverse_iterator< _tIter >::pointer = typename traits_type::pointer

在文件 range.hpp 第 125 行定义.

## ◆ reference

template<typename _tIter >

using ystdex::cpp2017::reverse_iterator< _tIter >::reference = typename traits_type::reference

在文件 range.hpp 第 126 行定义.

## ◆ traits_type

template<typename _tIter >

using ystdex::cpp2017::reverse_iterator< _tIter >::traits_type = std::iterator_traits<_tIter>

private

在文件 range.hpp 第 118 行定义.

## ◆ value_type

template<typename _tIter >

using ystdex::cpp2017::reverse_iterator< _tIter >::value_type = typename traits_type::value_type

在文件 range.hpp 第 123 行定义.

## 构造及析构函数说明

## ◆ reverse_iterator() [1/3]

template<typename _tIter >

ystdex::cpp2017::reverse_iterator< _tIter >::reverse_iterator | ( |  | ) |

inline

参见
  LWG 235 。
  LWG 1012 。

在文件 range.hpp 第 137 行定义.

被这些函数引用 ystdex::cpp2017::reverse_iterator< _tIter >::operator+() , 以及 ystdex::cpp2017::reverse_iterator< _tIter >::operator-().

这是这个函数的调用关系图:

## ◆ reverse_iterator() [2/3]

template<typename _tIter >

ystdex::cpp2017::reverse_iterator< _tIter >::reverse_iterator | ( | _tIter | x | ) |

inlineexplicit

在文件 range.hpp 第 142 行定义.

## ◆ reverse_iterator() [3/3]

template<typename _tIter >
template<class _tOther >

ystdex::cpp2017::reverse_iterator< _tIter >::reverse_iterator | ( | const reverse_iterator< _tOther > & | u | ) |

inline

在文件 range.hpp 第 147 行定义.

## 成员函数说明

## ◆ base()

template<typename _tIter >

_tIter ystdex::cpp2017::reverse_iterator< _tIter >::base | ( |  | ) | const

inline

在文件 range.hpp 第 160 行定义.

引用了 ystdex::cpp2017::reverse_iterator< _tIter >::current.

被这些函数引用 ystdex::cpp2017::reverse_iterator< _tIter >::operator=().

这是这个函数的调用关系图:

## ◆ operator*()

template<typename _tIter >

reference ystdex::cpp2017::reverse_iterator< _tIter >::operator* | ( |  | ) | const

inline

在文件 range.hpp 第 166 行定义.

引用了 ystdex::cpp2017::reverse_iterator< _tIter >::current.

## ◆ operator+()

template<typename _tIter >

reverse_iterator ystdex::cpp2017::reverse_iterator< _tIter >::operator+ | ( | difference_type | n | ) | const

inline

在文件 range.hpp 第 221 行定义.

引用了 ystdex::cpp2017::reverse_iterator< _tIter >::current , 以及 ystdex::cpp2017::reverse_iterator< _tIter >::reverse_iterator().

函数调用图:

## ◆ operator++() [1/2]

template<typename _tIter >

reverse_iterator& ystdex::cpp2017::reverse_iterator< _tIter >::operator++ | ( |  | ) |

inline

在文件 range.hpp 第 184 行定义.

引用了 ystdex::cpp2017::reverse_iterator< _tIter >::current.

## ◆ operator++() [2/2]

template<typename _tIter >

reverse_iterator ystdex::cpp2017::reverse_iterator< _tIter >::operator++ | ( | int |  | ) |

inline

在文件 range.hpp 第 190 行定义.

引用了 ystdex::cpp2017::reverse_iterator< _tIter >::current.

## ◆ operator+=()

template<typename _tIter >

reverse_iterator& ystdex::cpp2017::reverse_iterator< _tIter >::operator+= | ( | difference_type | n | ) |

inline

在文件 range.hpp 第 214 行定义.

引用了 ystdex::cpp2017::reverse_iterator< _tIter >::current.

## ◆ operator-()

template<typename _tIter >

reverse_iterator ystdex::cpp2017::reverse_iterator< _tIter >::operator- | ( | difference_type | n | ) | const

inline

在文件 range.hpp 第 234 行定义.

引用了 ystdex::cpp2017::reverse_iterator< _tIter >::current , 以及 ystdex::cpp2017::reverse_iterator< _tIter >::reverse_iterator().

函数调用图:

## ◆ operator--() [1/2]

template<typename _tIter >

reverse_iterator& ystdex::cpp2017::reverse_iterator< _tIter >::operator-- | ( |  | ) |

inline

在文件 range.hpp 第 199 行定义.

引用了 ystdex::cpp2017::reverse_iterator< _tIter >::current.

## ◆ operator--() [2/2]

template<typename _tIter >

reverse_iterator ystdex::cpp2017::reverse_iterator< _tIter >::operator-- | ( | int |  | ) |

inline

在文件 range.hpp 第 205 行定义.

引用了 ystdex::cpp2017::reverse_iterator< _tIter >::current.

## ◆ operator-=()

template<typename _tIter >

reverse_iterator& ystdex::cpp2017::reverse_iterator< _tIter >::operator-= | ( | difference_type | n | ) |

inline

在文件 range.hpp 第 227 行定义.

引用了 ystdex::cpp2017::reverse_iterator< _tIter >::current.

## ◆ operator->()

template<typename _tIter >

pointer ystdex::cpp2017::reverse_iterator< _tIter >::operator-> | ( |  | ) | const

inline

参见
  LWG 1052 。
  LWG 2188 。

在文件 range.hpp 第 178 行定义.

引用了 ystdex::addressof().

函数调用图:

## ◆ operator=()

template<typename _tIter >
template<class _tOther >

reverse_iterator& ystdex::cpp2017::reverse_iterator< _tIter >::operator= | ( | const reverse_iterator< _tOther > & | u | ) |

inline

在文件 range.hpp 第 153 行定义.

引用了 ystdex::cpp2017::reverse_iterator< _tIter >::base() , 以及 ystdex::cpp2017::reverse_iterator< _tIter >::current.

函数调用图:

## ◆ operator[]()

template<typename _tIter >

reference ystdex::cpp2017::reverse_iterator< _tIter >::operator[] | ( | difference_type | n | ) | const

inline

参见
  LWG 386 。

在文件 range.hpp 第 241 行定义.

## 友元及相关函数文档

## ◆ operator!=

template<typename _tIter >
template<typename _tIter2 >

bool operator!= | ( | const reverse_iterator< _tIter > & | x,
|  | const reverse_iterator< _tIter2 > & | y
| ) |  |

friend

在文件 range.hpp 第 267 行定义.

## ◆ operator+

template<typename _tIter >

reverse_iterator operator+ | ( | difference_type | n,
|  | const reverse_iterator< _tIter > & | x
| ) |  |

friend

在文件 range.hpp 第 295 行定义.

## ◆ operator-()

template<typename _tIter , typename _tIter2 >

auto operator- | ( | const reverse_iterator< _tIter > & | x,
|  | const reverse_iterator< _tIter2 > & | y
| ) |  | -> decltype(y.base() - x.base())

related

自从
  build 844

在文件 range.hpp 第 307 行定义.

引用了 x , 以及 YSLib::UI::y.

## ◆ operator<

template<typename _tIter >
template<typename _tIter2 >

bool operator< | ( | const reverse_iterator< _tIter > & | x,
|  | const reverse_iterator< _tIter2 > & | y
| ) |  |

friend

在文件 range.hpp 第 259 行定义.

## ◆ operator<=

template<typename _tIter >
template<typename _tIter2 >

bool operator<= | ( | const reverse_iterator< _tIter > & | x,
|  | const reverse_iterator< _tIter2 > & | y
| ) |  |

friend

在文件 range.hpp 第 287 行定义.

## ◆ operator==

template<typename _tIter >
template<typename _tIter2 >

bool operator== | ( | const reverse_iterator< _tIter > & | x,
|  | const reverse_iterator< _tIter2 > & | y
| ) |  |

friend

自从
  build 834

参见
  LWG 280 。

在文件 range.hpp 第 253 行定义.

## ◆ operator>

template<typename _tIter >
template<typename _tIter2 >

bool operator> | ( | const reverse_iterator< _tIter > & | x,
|  | const reverse_iterator< _tIter2 > & | y
| ) |  |

friend

在文件 range.hpp 第 274 行定义.

## ◆ operator>=

template<typename _tIter >
template<typename _tIter2 >

bool operator>= | ( | const reverse_iterator< _tIter > & | x,
|  | const reverse_iterator< _tIter2 > & | y
| ) |  |

friend

在文件 range.hpp 第 281 行定义.

## 类成员变量说明

## ◆ current

template<typename _tIter >

_tIter ystdex::cpp2017::reverse_iterator< _tIter >::current

protected

在文件 range.hpp 第 129 行定义.

被这些函数引用 ystdex::cpp2017::reverse_iterator< _tIter >::base(), ystdex::cpp2017::reverse_iterator< _tIter >::operator*(), ystdex::cpp2017::reverse_iterator< _tIter >::operator+(), ystdex::cpp2017::reverse_iterator< _tIter >::operator++(), ystdex::cpp2017::reverse_iterator< _tIter >::operator+=(), ystdex::cpp2017::reverse_iterator< _tIter >::operator-(), ystdex::cpp2017::reverse_iterator< _tIter >::operator--(), ystdex::cpp2017::reverse_iterator< _tIter >::operator-=() , 以及 ystdex::cpp2017::reverse_iterator< _tIter >::operator=().

该类的文档由以下文件生成:

- range.hpp