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

转换迭代器。 更多...

#include <iterator.hpp>

类 ystdex::transformed_iterator< _tIterator, _fTransformer > 继承关系图:
ystdex::transformed_iterator< _tIterator, _fTransformer > 的协作图:

Public 类型

typedef pointer_classify
< typename remove_reference
< _tIterator >::type >::type 
iterator_type
 原迭代器类型。
 
typedef _fTransformer transformer_type
 
typedef std::result_of
< _fTransformer &(_tIterator &)>
::type 
transformed_type
 
typedef add_rvalue_reference
< decltype(*std::declval
< transformed_type >))>::type 
reference
 
typedef remove_reference
< reference >::type 
value_type
 
typedef std::iterator_traits
< iterator_type >
::difference_type 
difference_type
 
typedef add_pointer
< value_type >::type 
pointer
 

Public 成员函数

template<typename _tIter , typename _tTran >
 transformed_iterator (_tIter &&i, _tTran &&f={})
 
reference operator* () const
 
pointer operator-> () const
 
 operator iterator_type & ()
 转换为原迭代器引用。
 
 operator const iterator_type & () const
 转换为原迭代器 const 引用。
 
iterator_typeget ()
 取原迭代器引用。
 
const iterator_typeget () const
 取原迭代器 const 引用。
 

Protected 属性

transformer_type transformer
 

详细描述

template<typename _tIterator, typename _fTransformer>
class ystdex::transformed_iterator< _tIterator, _fTransformer >

转换迭代器。

警告
非虚析构。
自从
build 288

使用指定参数转换得到新迭代器的间接操作替代指定迭代器的间接操作的迭代器适配器。

在文件 iterator.hpp437 行定义.

成员类型定义说明

template<typename _tIterator, typename _fTransformer>
typedef std::iterator_traits<iterator_type>::difference_type ystdex::transformed_iterator< _tIterator, _fTransformer >::difference_type

在文件 iterator.hpp456 行定义.

template<typename _tIterator, typename _fTransformer>
typedef pointer_classify<typename remove_reference<_tIterator>::type>::type ystdex::transformed_iterator< _tIterator, _fTransformer >::iterator_type

原迭代器类型。

自从
build 290

在文件 iterator.hpp445 行定义.

template<typename _tIterator, typename _fTransformer>
typedef add_pointer<value_type>::type ystdex::transformed_iterator< _tIterator, _fTransformer >::pointer

在文件 iterator.hpp457 行定义.

template<typename _tIterator, typename _fTransformer>
typedef add_rvalue_reference< decltype(*std::declval<transformed_type>))>::type ystdex::transformed_iterator< _tIterator, _fTransformer >::reference
自从
build 357

在文件 iterator.hpp453 行定义.

template<typename _tIterator, typename _fTransformer>
typedef std::result_of<_fTransformer&(_tIterator&)>::type ystdex::transformed_iterator< _tIterator, _fTransformer >::transformed_type
自从
build 358

在文件 iterator.hpp449 行定义.

template<typename _tIterator, typename _fTransformer>
typedef _fTransformer ystdex::transformed_iterator< _tIterator, _fTransformer >::transformer_type

在文件 iterator.hpp446 行定义.

template<typename _tIterator, typename _fTransformer>
typedef remove_reference<reference>::type ystdex::transformed_iterator< _tIterator, _fTransformer >::value_type

在文件 iterator.hpp454 行定义.

构造及析构函数说明

template<typename _tIterator, typename _fTransformer>
template<typename _tIter , typename _tTran >
ystdex::transformed_iterator< _tIterator, _fTransformer >::transformed_iterator ( _tIter &&  i,
_tTran &&  f = {} 
)
inlineexplicit
自从
build 347

在文件 iterator.hpp467 行定义.

成员函数说明

template<typename _tIterator, typename _fTransformer>
iterator_type& ystdex::transformed_iterator< _tIterator, _fTransformer >::get ( )
inline

取原迭代器引用。

自从
build 290

在文件 iterator.hpp510 行定义.

参考自 ystdex::operator==().

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

template<typename _tIterator, typename _fTransformer>
const iterator_type& ystdex::transformed_iterator< _tIterator, _fTransformer >::get ( ) const
inline

取原迭代器 const 引用。

自从
build 290

在文件 iterator.hpp520 行定义.

template<typename _tIterator, typename _fTransformer>
ystdex::transformed_iterator< _tIterator, _fTransformer >::operator const iterator_type & ( ) const
inline

转换为原迭代器 const 引用。

自从
build 290

在文件 iterator.hpp500 行定义.

template<typename _tIterator, typename _fTransformer>
ystdex::transformed_iterator< _tIterator, _fTransformer >::operator iterator_type & ( )
inline

转换为原迭代器引用。

自从
build 290

在文件 iterator.hpp490 行定义.

template<typename _tIterator, typename _fTransformer>
reference ystdex::transformed_iterator< _tIterator, _fTransformer >::operator* ( ) const
inline
template<typename _tIterator, typename _fTransformer>
pointer ystdex::transformed_iterator< _tIterator, _fTransformer >::operator-> ( ) const
inline
自从
build 357

在文件 iterator.hpp480 行定义.

类成员变量说明

template<typename _tIterator, typename _fTransformer>
transformer_type ystdex::transformed_iterator< _tIterator, _fTransformer >::transformer
mutableprotected

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