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

YSTest PreAlpha_b700_20160611 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 (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
| 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)

## Private 属性

iterator_type | iter
size_type | width
size_type | height
size_type | row
size_type | col

## 友元

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 第 928 行定义.

## 成员类型定义说明

template<typename _tIter>

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

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

template<typename _tIter>

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

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

template<typename _tIter>

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

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

template<typename _tIter>

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

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

template<typename _tIter>

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

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

template<typename _tIter>

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

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

template<typename _tIter>

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

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

## 构造及析构函数说明

template<typename _tIter>

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

default

template<typename _tIter>

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

inline

自从
  build 586

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

template<typename _tIter>

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

inline

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

template<typename _tIter>

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

default

template<typename _tIter>

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

default

## 成员函数说明

template<typename _tIter>

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

inline

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

参考 ystdex::transposed_iterator< _tIter >::iter.

template<typename _tIter>

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

inline

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

参考 ystdex::transposed_iterator< _tIter >::get_index() , 以及 ynoexcept_assert.

函数调用图:
template<typename _tIter>

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

inline

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

参考 ystdex::transposed_iterator< _tIter >::col.

template<typename _tIter>

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

inline

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

参考 ystdex::transposed_iterator< _tIter >::height.

template<typename _tIter>

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

inline

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

参考 ystdex::transposed_iterator< _tIter >::col , 以及 ynoexcept_assert.

参考自 ystdex::transposed_iterator< _tIter >::get().

这是这个函数的调用关系图:
template<typename _tIter>

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

inline

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

参考 ystdex::transposed_iterator< _tIter >::row.

template<typename _tIter>

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

inline

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

参考 ystdex::transposed_iterator< _tIter >::width.

template<typename _tIter>

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

inline

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

参考 ystdex::transposed_iterator< _tIter >::is_undereferenceable , 以及 yconstraint.

template<typename _tIter>

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

inline

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

参考 ystdex::transposed_iterator< _tIter >::is_undereferenceable, yconstraint , 以及 yunseq.

template<typename _tIter>

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

inline

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

参考 yassume , 以及 yunseq.

template<typename _tIter>

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

inline

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

参考 yconstraint , 以及 yunseq.

template<typename _tIter>

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

inline

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

参考 platform::n.

template<typename _tIter>

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

default

template<typename _tIter>

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

default

template<typename _tIter>

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

inline

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

参考 YSLib::i, ystdex::transposed_iterator< _tIter >::is_undereferenceable , 以及 yassume.

## 友元及相关函数文档

template<typename _tIter>

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

friend

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

参考自 ystdex::transposed_iterator< _tIter >::operator*(), ystdex::transposed_iterator< _tIter >::operator++() , 以及 ystdex::transposed_iterator< _tIter >::share_sequence().

template<typename _tIter>

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

friend

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

template<typename _tIter>

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

friend

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

template<typename _tIter>

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

friend

自从
  build 577

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

## 类成员变量说明

template<typename _tIter>

size_type ystdex::transposed_iterator< _tIter >::col

private

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

参考自 ystdex::transposed_iterator< _tIter >::get_column() , 以及 ystdex::transposed_iterator< _tIter >::get_index().

template<typename _tIter>

size_type ystdex::transposed_iterator< _tIter >::height

private

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

参考自 ystdex::transposed_iterator< _tIter >::get_height().

template<typename _tIter>

iterator_type ystdex::transposed_iterator< _tIter >::iter

private

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

参考自 ystdex::transposed_iterator< _tIter >::base().

template<typename _tIter>

size_type ystdex::transposed_iterator< _tIter >::row

private

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

参考自 ystdex::transposed_iterator< _tIter >::get_row().

template<typename _tIter>

size_type ystdex::transposed_iterator< _tIter >::width

private

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

参考自 ystdex::transposed_iterator< _tIter >::get_width().

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

- iterator.hpp