YSTest: ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves > 模板类 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

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

Public 类型 | Public 成员函数 | Private 类型 | Private 成员函数 | 友元 | 所有成员列表
ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves > 模板类 参考
Iterators » Iterator Adaptors

元组迭代器。 更多...

`#include <iterator.hpp>`

类 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves > 继承关系图:
[图例]
ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves > 的协作图:
[图例]

## Public 类型

using | base_type = std::tuple< _tIter, _tSlaves... >
using | iterator_type = _tIter
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 成员函数

| tuple_iterator ()=default
| tuple_iterator (const _tIter &i)
template<typename... _tParams>
| tuple_iterator (const _tIter &i, _tParams &&...args)
| tuple_iterator (const tuple_iterator &)=default
| tuple_iterator (tuple_iterator &&)=default
tuple_iterator & | operator= (const tuple_iterator &)=default
tuple_iterator & | operator= (tuple_iterator &&)=default
tuple_iterator & | operator+= (difference_type n)
tuple_iterator & | operator-= (difference_type n)
tuple_iterator & | operator-- ()
| 满足双向迭代器要求。 更多...
base_type & | base ()
const base_type & | base () const
iterator_type & | get ()
const iterator_type & | get () const
reference | operator* () const
| 满足输入迭代器要求。 更多...
tuple_iterator & | operator++ ()

## Private 类型

using | seq_type = make_index_sequence< std::tuple_size< base_type >::value >

## Private 成员函数

template<size_t... _vSeq>
void | add (difference_type n, index_sequence< _vSeq... >)
template<size_t... _vSeq>
void | dec (index_sequence< _vSeq... >)
template<size_t... _vSeq>
void | inc (index_sequence< _vSeq... >)
template<size_t... _vSeq>
void | subtract (difference_type n, index_sequence< _vSeq... >)

## 友元

bool | operator== (const tuple_iterator &x, const tuple_iterator &y)

## 详细描述

### template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>
class ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >

元组迭代器。

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

警告
  非虚析构。

自从
  build 595

拼接迭代器和其它对象类型对得到的迭代器适配器。

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

## 成员类型定义说明

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

using ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::base_type = std::tuple<_tIter, _tSlaves...>

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

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

using ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::difference_type = typename traits_type::difference_type

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

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

using ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::iterator_category = typename traits_type::iterator_category

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

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

using ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::iterator_type = _tIter

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

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

using ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::pointer = typename traits_type::pointer

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

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

using ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::reference = typename traits_type::reference

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

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

using ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::seq_type = make_index_sequence<std::tuple_size<base_type>::value>

private

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

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

using ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::traits_type = _tTraits

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

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

using ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::value_type = typename traits_type::value_type

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

## 构造及析构函数说明

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::tuple_iterator | ( |  | ) |

inlinedefault

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::tuple_iterator | ( | const _tIter & | i | ) |

inlineexplicit

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

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>
template<typename... _tParams>

ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::tuple_iterator | ( | const _tIter & | i,
|  | _tParams &&... | args
| ) |  |

inline

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

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::tuple_iterator | ( | const tuple_iterator< _tIter, _tTraits, _tSlaves > & |  | ) |

inlinedefault

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::tuple_iterator | ( | tuple_iterator< _tIter, _tTraits, _tSlaves > && |  | ) |

inlinedefault

## 成员函数说明

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>
template<size_t... _vSeq>

void ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::add | ( | difference_type | n,
|  | index_sequence< _vSeq... > |
| ) |  |

inlineprivate

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

参考 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::base() , 以及 yunseq.

参考自 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::operator+=().

函数调用图:

这是这个函数的调用关系图:
template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

base_type& ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::base | ( |  | ) |

inline

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

参考自 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::add(), ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::dec(), ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::get(), ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::inc(), YSLib::Drawing::Shaders::BlitTransparentPoint::operator()() , 以及 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::subtract().

这是这个函数的调用关系图:
template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

const base_type& ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::base | ( |  | ) | const

inline

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

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>
template<size_t... _vSeq>

void ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::dec | ( | index_sequence< _vSeq... > |  | ) |

inlineprivate

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

参考 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::base() , 以及 yunseq.

参考自 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::operator--().

函数调用图:

这是这个函数的调用关系图:
template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

iterator_type& ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::get | ( |  | ) |

inline

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

参考 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::base().

函数调用图:
template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

const iterator_type& ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::get | ( |  | ) | const

inline

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

参考 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::base().

函数调用图:
template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>
template<size_t... _vSeq>

void ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::inc | ( | index_sequence< _vSeq... > |  | ) |

inlineprivate

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

参考 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::base() , 以及 yunseq.

参考自 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::operator++().

函数调用图:

这是这个函数的调用关系图:
template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

reference ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::operator* | ( |  | ) | const

inline

满足输入迭代器要求。

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

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

tuple_iterator& ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::operator++ | ( |  | ) |

inline

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

参考 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::inc().

函数调用图:
template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

tuple_iterator& ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::operator+= | ( | difference_type | n | ) |

inline

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

参考 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::add().

函数调用图:
template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

tuple_iterator& ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::operator-- | ( |  | ) |

inline

满足双向迭代器要求。

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

参考 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::dec().

函数调用图:
template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

tuple_iterator& ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::operator-= | ( | difference_type | n | ) |

inline

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

参考 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::subtract().

函数调用图:
template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

tuple_iterator& ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::operator= | ( | const tuple_iterator< _tIter, _tTraits, _tSlaves > & |  | ) |

default

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

tuple_iterator& ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::operator= | ( | tuple_iterator< _tIter, _tTraits, _tSlaves > && |  | ) |

default

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>
template<size_t... _vSeq>

void ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::subtract | ( | difference_type | n,
|  | index_sequence< _vSeq... > |
| ) |  |

inlineprivate

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

参考 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::base() , 以及 yunseq.

参考自 ystdex::tuple_iterator< _tIter, _tTraits, _tSlaves >::operator-=().

函数调用图:

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

## 友元及相关函数文档

template<typename _tIter, class _tTraits = std::iterator_traits<_tIter>, typename... _tSlaves>

bool operator== | ( | const tuple_iterator< _tIter, _tTraits, _tSlaves > & | x,
|  | const tuple_iterator< _tIter, _tTraits, _tSlaves > & | y
| ) |  |

friend

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

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

- iterator.hpp