YSTest  PreAlpha_b500_20140530
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
ystdex::pair_iterator< _tMaster, _tSlave, _tTraits > 模板类 参考

成对迭代器。 更多...

#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_iteratoroperator= (const pair_iterator &)=default
 
pair_iteratoroperator= (pair_iterator &&)=default
 
pair_iteratoroperator+= (difference_type n)
 
pair_iteratoroperator-= (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_typebase () const
 
reference operator* () const
 满足前向迭代器要求。 更多...
 
pointer operator-> () const
 
pair_iteratoroperator++ ()
 
pair_iterator operator++ (int)
 
pair_iteratoroperator-- ()
 满足双向迭代器要求。 更多...
 
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.hpp835 行定义.

成员类型定义说明

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

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

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

在文件 iterator.hpp839 行定义.

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

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>
using ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::pointer = typename traits_type::pointer

在文件 iterator.hpp845 行定义.

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>
using ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::reference = typename traits_type::reference

在文件 iterator.hpp846 行定义.

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>
using ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::traits_type = _tTraits
自从
build 400

在文件 iterator.hpp841 行定义.

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

构造及析构函数说明

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>
ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::pair_iterator ( )
inline

在文件 iterator.hpp849 行定义.

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>
ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::pair_iterator ( const _tMaster &  _i)
inlineexplicit

在文件 iterator.hpp853 行定义.

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

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

成员函数说明

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>
const pair_type& ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::base ( ) const
inline
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.hpp980 行定义.

参考 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.hpp901 行定义.

参考 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.hpp958 行定义.

参考 yunseq.

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>
pair_iterator& ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator++ ( )
inline
template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>
pair_iterator ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator++ ( int  )
inline

在文件 iterator.hpp919 行定义.

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

参考 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.hpp967 行定义.

参考 yunseq.

template<typename _tMaster, typename _tSlave, class _tTraits = std::iterator_traits<_tMaster>>
pair_iterator& ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator-- ( )
inline

满足双向迭代器要求。

在文件 iterator.hpp931 行定义.

参考 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.hpp937 行定义.

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

参考 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.hpp907 行定义.

参考 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.hpp952 行定义.

参考 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.hpp999 行定义.

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

函数调用图:


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