YSTest: ystdex::pair_iterator< _tMaster, _tSlave, _tTraits > 模板类 参考

YSTest PreAlpha_b500_20140530 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 类列表
- 类索引
- 类继承关系
- 类成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 类型 | Public 成员函数 | 所有成员列表
ystdex::pair_iterator< _tMaster, _tSlave, _tTraits > 模板类 参考
Iterator Adaptors

成对迭代器。 更多...

`#include <iterator.hpp>`

类 ystdex::pair_iterator< _tMaster, _tSlave, _tTraits > 继承关系图:
[图例]
ystdex::pair_iterator< _tMaster, _tSlave, _tTraits > 的协作图:
[图例]

## Public 类型

using | pair_type = std::pair< _tMaster, _tSlave >
using | iterator_type = _tMaster
using | traits_type = _tTraits
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 成员函数

| pair_iterator ()
| pair_iterator (const _tMaster &_i)
| pair_iterator (const _tMaster &_i, const _tSlave &_s)
| pair_iterator (const pair_iterator &)=default
| pair_iterator (pair_iterator &&_r)
pair_iterator & | operator= (const pair_iterator &)=default
pair_iterator & | operator= (pair_iterator &&)=default
pair_iterator & | operator+= (difference_type n)
pair_iterator & | operator-= (difference_type n)
template<typename _tFirst , typename _tSecond , typename = enable_if_t<is_convertible<_tMaster, _tFirst>::value && is_convertible<_tSlave, _tSecond>::value, int>>
| operator std::pair< _tFirst, _tSecond > ()
const pair_type & | base () const
reference | operator* () const
| 满足前向迭代器要求。 更多...
pointer | operator-> () const
pair_iterator & | operator++ ()
pair_iterator | operator++ (int)
pair_iterator & | operator-- ()
| 满足双向迭代器要求。 更多...
pair_iterator | operator-- (int)
reference | operator[] (difference_type n) const
| 满足随机访问迭代器要求。 更多...
pair_iterator | operator+ (difference_type n) const
pair_iterator | operator- (difference_type n) const

## 相关函数

(请注意: 这些不是成员函数.)
template<typename _tMaster , typename _tSlave >
bool | operator== (const pair_iterator< _tMaster, _tSlave > &x, const pair_iterator< _tMaster, _tSlave > &y)

## 详细描述

### template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>
class ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >

成对迭代器。

注解
  成员迭代器需可复制构造，满足随机迭代器要求（但不需要 + 和 - ）。

警告
  非虚析构。

拼接两个迭代器对得到的迭代器适配器，以第一个为主迭代器的迭代器适配器。

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

## 成员类型定义说明

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

using ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::difference_type = typename traits_type::difference_type

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

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

using ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::iterator_category = typename traits_type::iterator_category

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

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

using ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::iterator_type = _tMaster

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

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

using ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::pair_type = std::pair<_tMaster, _tSlave>

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

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

using ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::pointer = typename traits_type::pointer

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

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

using ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::reference = typename traits_type::reference

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

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

using ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::traits_type = _tTraits

自从
  build 400

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

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

using ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::value_type = typename traits_type::value_type

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

## 构造及析构函数说明

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::pair_iterator | ( |  | ) |

inline

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

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::pair_iterator | ( | const _tMaster & | _i | ) |

inlineexplicit

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

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::pair_iterator | ( | const _tMaster & | _i,
|  | const _tSlave & | _s
| ) |  |

inline

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

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::pair_iterator | ( | const pair_iterator< _tMaster, _tSlave, _tTraits > & |  | ) |

inlinedefault

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::pair_iterator | ( | pair_iterator< _tMaster, _tSlave, _tTraits > && | _r | ) |

inline

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

## 成员函数说明

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

const pair_type& ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::base | ( |  | ) | const

inline

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

参考自 YSLib::Drawing::Shaders::BlitTransparentPoint::operator()(), YSLib::Drawing::Shaders::BlitAlphaPoint::operator()() , 以及 ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator==().

这是这个函数的调用关系图:
template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>
template<typename _tFirst , typename _tSecond , typename = enable_if_t<is_convertible<_tMaster, _tFirst>::value && is_convertible<_tSlave, _tSecond>::value, int>>

ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator std::pair< _tFirst, _tSecond > | ( |  | ) |

inline

自从
  build 439

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

参考 ystdex::iterator_transformation::first() , 以及 ystdex::iterator_transformation::second().

函数调用图:
template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

reference ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator* | ( |  | ) | const

inline

满足前向迭代器要求。

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

参考 ystdex::iterator_transformation::first().

函数调用图:
template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

pair_iterator ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator+ | ( | difference_type | n | ) | const

inline

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

参考 yunseq.

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

pair_iterator& ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator++ | ( |  | ) |

inline

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

参考 ystdex::iterator_transformation::first(), ystdex::iterator_transformation::second() , 以及 yunseq.

函数调用图:
template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

pair_iterator ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator++ | ( | int |  | ) |

inline

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

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

pair_iterator& ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator+= | ( | difference_type | n | ) |

inline

自从
  build 356

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

参考 ystdex::iterator_transformation::first(), ystdex::iterator_transformation::second() , 以及 yunseq.

函数调用图:
template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

pair_iterator ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator- | ( | difference_type | n | ) | const

inline

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

参考 yunseq.

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

pair_iterator& ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator-- | ( |  | ) |

inline

满足双向迭代器要求。

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

参考 ystdex::iterator_transformation::first(), ystdex::iterator_transformation::second() , 以及 yunseq.

函数调用图:
template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

pair_iterator ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator-- | ( | int |  | ) |

inline

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

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

pair_iterator& ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator-= | ( | difference_type | n | ) |

inline

自从
  build 356

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

参考 ystdex::iterator_transformation::first(), ystdex::iterator_transformation::second() , 以及 yunseq.

函数调用图:
template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

pointer ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator-> | ( |  | ) | const

inline

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

参考 ystdex::iterator_transformation::first().

函数调用图:
template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

pair_iterator& ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator= | ( | const pair_iterator< _tMaster, _tSlave, _tTraits > & |  | ) |

inlinedefault

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

pair_iterator& ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator= | ( | pair_iterator< _tMaster, _tSlave, _tTraits > && |  | ) |

inlinedefault

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>

reference ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator[] | ( | difference_type | n | ) | const

inline

满足随机访问迭代器要求。

自从
  build 356

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

参考 ystdex::iterator_transformation::first().

函数调用图:

## 友元及相关函数文档

template<typename _tMaster , typename _tSlave >

bool operator== | ( | const pair_iterator< _tMaster, _tSlave > & | x,
|  | const pair_iterator< _tMaster, _tSlave > & | y
| ) |  |

related

自从
  build 356

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

参考 ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::base().

函数调用图:

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

- iterator.hpp