YSTest: ystdex::transposed_iterator< _tIter > 模板类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | Private 属性 | 友元 | 相关函数 | 所有成员列表
ystdex::transposed_iterator< _tIter > 模板类 参考
Iterators » Iterator Adaptors

下标转置迭代器适配器。 更多...

`#include <iterator.hpp>`

类 ystdex::transposed_iterator< _tIter > 继承关系图:
[图例]
ystdex::transposed_iterator< _tIter > 的协作图:
[图例]

## Public 类型

using | iterator_type = _tIter
using | iterator_category = std::random_access_iterator_tag
using | value_type = typename std::iterator_traits< iterator_type >::value_type
using | difference_type = typename std::iterator_traits< iterator_type >::difference_type
using | pointer = typename std::iterator_traits< iterator_type >::pointer
using | reference = typename std::iterator_traits< iterator_type >::reference
using | size_type = make_unsigned_t< difference_type >

## Public 成员函数

| transposed_iterator ()=default
| transposed_iterator (iterator_type i, size_type w, size_type h)
| transposed_iterator (iterator_type i, size_type w, size_type h, size_type idx)
| transposed_iterator (const transposed_iterator &)=default
| transposed_iterator (transposed_iterator &&)=default
transposed_iterator & | operator= (const transposed_iterator &)=default
transposed_iterator & | operator= (transposed_iterator &&)=default
transposed_iterator & | operator+= (difference_type n)
transposed_iterator & | operator-= (difference_type n)
reference | operator* () const
transposed_iterator & | operator++ ()
transposed_iterator & | operator-- ()
const iterator_type & | base () const
iterator_type | get () const
size_type | get_column () const
size_type | get_height () const
size_type | get_index () const
size_type | get_row () const
size_type | get_width () const
bool | share_sequence (const transposed_iterator &i) const

## Private 属性

iterator_type | iter {}
size_type | width = 0
size_type | height = 0
size_type | row = 0
size_type | col = 0

## 友元

bool | operator== (const transposed_iterator &x, const transposed_iterator &y)
bool | operator< (const transposed_iterator &x, const transposed_iterator &y)
difference_type | operator- (const transposed_iterator &x, const transposed_iterator &y)
bool | is_undereferenceable (const transposed_iterator &i)

## 相关函数

(请注意: 这些不是成员函数.)
template<typename _tIter , typename _tSize = make_unsigned_t< typename std::iterator_traits<decay_t<_tIter>>::difference_type>>
transposed_iterator< decay_t< _tIter > > | make_transposed (_tIter &&i, _tSize w, _tSize h)

## 详细描述

### template<typename _tIter>
class ystdex::transposed_iterator< _tIter >

下标转置迭代器适配器。

警告
  非虚析构。

自从
  build 575

对指定行宽的线性访问元素的行优先矩阵元素迭代器进行转置变换的随机访问迭代器适配器。 对 w × h 矩阵的迭代器 `i` 和转置后的迭代器 `j` 以及无符号数 `x` 和 `y` ，满足： `i[x * w + y] = j[y * w + x]` ，其中 `x < w && y < h`。

在文件 iterator.hpp 第 886 行定义.

## 成员类型定义说明

## ◆ difference_type

template<typename _tIter >

using ystdex::transposed_iterator< _tIter >::difference_type = typename std::iterator_traits<iterator_type>::difference_type

在文件 iterator.hpp 第 893 行定义.

## ◆ iterator_category

template<typename _tIter >

using ystdex::transposed_iterator< _tIter >::iterator_category = std::random_access_iterator_tag

在文件 iterator.hpp 第 891 行定义.

## ◆ iterator_type

template<typename _tIter >

using ystdex::transposed_iterator< _tIter >::iterator_type = _tIter

在文件 iterator.hpp 第 890 行定义.

## ◆ pointer

template<typename _tIter >

using ystdex::transposed_iterator< _tIter >::pointer = typename std::iterator_traits<iterator_type>::pointer

在文件 iterator.hpp 第 895 行定义.

## ◆ reference

template<typename _tIter >

using ystdex::transposed_iterator< _tIter >::reference = typename std::iterator_traits<iterator_type>::reference

在文件 iterator.hpp 第 896 行定义.

## ◆ size_type

template<typename _tIter >

using ystdex::transposed_iterator< _tIter >::size_type = make_unsigned_t<difference_type>

在文件 iterator.hpp 第 897 行定义.

## ◆ value_type

template<typename _tIter >

using ystdex::transposed_iterator< _tIter >::value_type = typename std::iterator_traits<iterator_type>::value_type

在文件 iterator.hpp 第 892 行定义.

## 构造及析构函数说明

## ◆ transposed_iterator() [1/5]

template<typename _tIter >

ystdex::transposed_iterator< _tIter >::transposed_iterator | ( |  | ) |

default

## ◆ transposed_iterator() [2/5]

template<typename _tIter >

ystdex::transposed_iterator< _tIter >::transposed_iterator | ( | iterator_type | i,
|  | size_type | w,
|  | size_type | h
| ) |  |

inline

自从
  build 586

在文件 iterator.hpp 第 908 行定义.

## ◆ transposed_iterator() [3/5]

template<typename _tIter >

ystdex::transposed_iterator< _tIter >::transposed_iterator | ( | iterator_type | i,
|  | size_type | w,
|  | size_type | h,
|  | size_type | idx
| ) |  |

inline

在文件 iterator.hpp 第 915 行定义.

## ◆ transposed_iterator() [4/5]

template<typename _tIter >

ystdex::transposed_iterator< _tIter >::transposed_iterator | ( | const transposed_iterator< _tIter > & |  | ) |

default

## ◆ transposed_iterator() [5/5]

template<typename _tIter >

ystdex::transposed_iterator< _tIter >::transposed_iterator | ( | transposed_iterator< _tIter > && |  | ) |

default

## 成员函数说明

## ◆ base()

template<typename _tIter >

const iterator_type& ystdex::transposed_iterator< _tIter >::base | ( |  | ) | const

inline

在文件 iterator.hpp 第 1002 行定义.

引用了 ystdex::transposed_iterator< _tIter >::iter.

## ◆ get()

template<typename _tIter >

iterator_type ystdex::transposed_iterator< _tIter >::get | ( |  | ) | const

inline

在文件 iterator.hpp 第 1008 行定义.

引用了 ystdex::transposed_iterator< _tIter >::col, ystdex::transposed_iterator< _tIter >::get_index(), ystdex::transposed_iterator< _tIter >::iter, ystdex::transposed_iterator< _tIter >::row, ystdex::transposed_iterator< _tIter >::width , 以及 ynoexcept_assert.

被这些函数引用 ystdex::transposed_iterator< _tIter >::operator*().

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

## ◆ get_column()

template<typename _tIter >

size_type ystdex::transposed_iterator< _tIter >::get_column | ( |  | ) | const

inline

在文件 iterator.hpp 第 1026 行定义.

引用了 ystdex::transposed_iterator< _tIter >::col.

## ◆ get_height()

template<typename _tIter >

size_type ystdex::transposed_iterator< _tIter >::get_height | ( |  | ) | const

inline

在文件 iterator.hpp 第 1032 行定义.

引用了 ystdex::transposed_iterator< _tIter >::height.

## ◆ get_index()

template<typename _tIter >

size_type ystdex::transposed_iterator< _tIter >::get_index | ( |  | ) | const

inline

在文件 iterator.hpp 第 1038 行定义.

引用了 ystdex::transposed_iterator< _tIter >::col, ystdex::transposed_iterator< _tIter >::row, ystdex::transposed_iterator< _tIter >::width , 以及 ynoexcept_assert.

被这些函数引用 ystdex::transposed_iterator< _tIter >::get().

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

## ◆ get_row()

template<typename _tIter >

size_type ystdex::transposed_iterator< _tIter >::get_row | ( |  | ) | const

inline

在文件 iterator.hpp 第 1046 行定义.

引用了 ystdex::transposed_iterator< _tIter >::row.

## ◆ get_width()

template<typename _tIter >

size_type ystdex::transposed_iterator< _tIter >::get_width | ( |  | ) | const

inline

在文件 iterator.hpp 第 1052 行定义.

引用了 ystdex::transposed_iterator< _tIter >::width.

## ◆ operator*()

template<typename _tIter >

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

inline

在文件 iterator.hpp 第 953 行定义.

引用了 ystdex::transposed_iterator< _tIter >::get() , 以及 YB_VerifyIterator.

函数调用图:

## ◆ operator++()

template<typename _tIter >

transposed_iterator& ystdex::transposed_iterator< _tIter >::operator++ | ( |  | ) |

inline

在文件 iterator.hpp 第 960 行定义.

引用了 ystdex::transposed_iterator< _tIter >::col, ystdex::transposed_iterator< _tIter >::height, ystdex::transposed_iterator< _tIter >::row, YB_VerifyIterator , 以及 yunseq.

## ◆ operator+=()

template<typename _tIter >

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

inline

在文件 iterator.hpp 第 934 行定义.

引用了 ystdex::transposed_iterator< _tIter >::col, ystdex::transposed_iterator< _tIter >::height, ystdex::transposed_iterator< _tIter >::row, ystdex::transposed_iterator< _tIter >::width, yassume , 以及 yunseq.

## ◆ operator--()

template<typename _tIter >

transposed_iterator& ystdex::transposed_iterator< _tIter >::operator-- | ( |  | ) |

inline

在文件 iterator.hpp 第 969 行定义.

引用了 ystdex::transposed_iterator< _tIter >::col, ystdex::transposed_iterator< _tIter >::height, ystdex::transposed_iterator< _tIter >::row, yconstraint , 以及 yunseq.

## ◆ operator-=()

template<typename _tIter >

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

inline

在文件 iterator.hpp 第 947 行定义.

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

template<typename _tIter >

transposed_iterator& ystdex::transposed_iterator< _tIter >::operator= | ( | const transposed_iterator< _tIter > & |  | ) |

default

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

template<typename _tIter >

transposed_iterator& ystdex::transposed_iterator< _tIter >::operator= | ( | transposed_iterator< _tIter > && |  | ) |

default

## ◆ share_sequence()

template<typename _tIter >

bool ystdex::transposed_iterator< _tIter >::share_sequence | ( | const transposed_iterator< _tIter > & | i | ) | const

inline

在文件 iterator.hpp 第 1058 行定义.

引用了 ystdex::transposed_iterator< _tIter >::col, ystdex::transposed_iterator< _tIter >::height, YSLib::i, ystdex::transposed_iterator< _tIter >::is_undereferenceable, ystdex::transposed_iterator< _tIter >::iter, ystdex::transposed_iterator< _tIter >::row, ystdex::transposed_iterator< _tIter >::width , 以及 yverify.

## 友元及相关函数文档

## ◆ is_undereferenceable

template<typename _tIter >

bool is_undereferenceable | ( | const transposed_iterator< _tIter > & | i | ) |

friend

在文件 iterator.hpp 第 1017 行定义.

被这些函数引用 ystdex::transposed_iterator< _tIter >::share_sequence().

## ◆ operator-

template<typename _tIter >

difference_type operator- | ( | const transposed_iterator< _tIter > & | x,
|  | const transposed_iterator< _tIter > & | y
| ) |  |

friend

在文件 iterator.hpp 第 994 行定义.

## ◆ operator<

template<typename _tIter >

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

friend

在文件 iterator.hpp 第 986 行定义.

## ◆ operator==

template<typename _tIter >

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

friend

自从
  build 577

在文件 iterator.hpp 第 979 行定义.

## 类成员变量说明

## ◆ col

template<typename _tIter >

size_type ystdex::transposed_iterator< _tIter >::col = 0

private

在文件 iterator.hpp 第 901 行定义.

被这些函数引用 ystdex::transposed_iterator< _tIter >::get(), ystdex::transposed_iterator< _tIter >::get_column(), ystdex::transposed_iterator< _tIter >::get_index(), ystdex::transposed_iterator< _tIter >::operator++(), ystdex::transposed_iterator< _tIter >::operator+=(), ystdex::transposed_iterator< _tIter >::operator--() , 以及 ystdex::transposed_iterator< _tIter >::share_sequence().

## ◆ height

template<typename _tIter >

size_type ystdex::transposed_iterator< _tIter >::height = 0

private

在文件 iterator.hpp 第 901 行定义.

被这些函数引用 ystdex::transposed_iterator< _tIter >::get_height(), ystdex::transposed_iterator< _tIter >::operator++(), ystdex::transposed_iterator< _tIter >::operator+=(), ystdex::transposed_iterator< _tIter >::operator--() , 以及 ystdex::transposed_iterator< _tIter >::share_sequence().

## ◆ iter

template<typename _tIter >

iterator_type ystdex::transposed_iterator< _tIter >::iter {}

private

在文件 iterator.hpp 第 900 行定义.

被这些函数引用 ystdex::transposed_iterator< _tIter >::base(), ystdex::transposed_iterator< _tIter >::get() , 以及 ystdex::transposed_iterator< _tIter >::share_sequence().

## ◆ row

template<typename _tIter >

size_type ystdex::transposed_iterator< _tIter >::row = 0

private

在文件 iterator.hpp 第 901 行定义.

被这些函数引用 ystdex::transposed_iterator< _tIter >::get(), ystdex::transposed_iterator< _tIter >::get_index(), ystdex::transposed_iterator< _tIter >::get_row(), ystdex::transposed_iterator< _tIter >::operator++(), ystdex::transposed_iterator< _tIter >::operator+=(), ystdex::transposed_iterator< _tIter >::operator--() , 以及 ystdex::transposed_iterator< _tIter >::share_sequence().

## ◆ width

template<typename _tIter >

size_type ystdex::transposed_iterator< _tIter >::width = 0

private

在文件 iterator.hpp 第 901 行定义.

被这些函数引用 ystdex::transposed_iterator< _tIter >::get(), ystdex::transposed_iterator< _tIter >::get_index(), ystdex::transposed_iterator< _tIter >::get_width(), ystdex::transposed_iterator< _tIter >::operator+=() , 以及 ystdex::transposed_iterator< _tIter >::share_sequence().

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

- iterator.hpp