YSTest: iterator.hpp 文件参考

YSTest PreAlpha_b500_20140530 The YSLib Test Project

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

- 文件列表
- 文件成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
类 | 命名空间 | 类型定义 | 函数
iterator.hpp 文件参考
YStandardExtend

通用迭代器。 更多...

`#include "type_op.hpp"`
`#include "cassert.h"`
`#include <iterator>`
`#include <utility>`
`#include <memory>`
iterator.hpp 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

## 类

class | ystdex::pointer_iterator< _type >
| 指针迭代器。 更多...
struct | ystdex::pointer_classify< _type >
| 指针包装为类类型迭代器。 更多...
struct | ystdex::pointer_classify< _type * >
class | ystdex::pseudo_iterator< _type, _tIterator, _tTraits >
| 伪迭代器。 更多...
class | ystdex::transformed_iterator< _tIterator, _fTransformer >
| 转换迭代器。 更多...
struct | ystdex::indirect_tag
class | ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >
| 成对迭代器。 更多...
class | ystdex::indirect_input_iterator< _tIterator >
| 间接输入迭代器。 更多...
class | ystdex::bitseg_iterator< _vN, _bEndian >
| 位段迭代器。 更多...
class | ystdex::subscriptive_iterator< _tCon, _type >
| 成员下标迭代器。 更多...

## 命名空间

| ystdex
| ystdex::iterator_transformation
| 迭代转换操作。

## 类型定义

template<typename _tParam , typename = std::pair< decltype(*std::declval<_tParam&>()), decltype(++std::declval<_tParam&>())>>
using | ystdex::enable_for_iterator_t = enable_if_t< is_same< decltype(++std::declval< _tParam & >()), _tParam & >::value, int >
| 选择迭代器类型的特定重载避免和其它类型冲突。 更多...

## 函数

template<typename _tIterator >
bool | ystdex::is_undereferenceable (const _tIterator &)
template<typename _type >
bool | ystdex::is_undereferenceable (_type *p)
template<typename _tIterator1 , typename _tIterator2 >
auto | ystdex::make_move_iterator_pair (_tIterator1 it1, _tIterator2 it2) -> decltype(std::make_pair(std::make_move_iterator(it1), std::make_move_iterator(it2)))
| 取转移迭代器对。 更多...
template<typename _tRange >
auto | ystdex::make_move_iterator_pair (_tRange &c) -> decltype(ystdex::make_move_iterator_pair(begin(c), end(c)))
| 取指定序列范围（包含序列容器及内建数组等）的转移迭代器对。 更多...
template<typename _tIterator >
auto | ystdex::operator| (_tIterator &&i, first_tag) -> decltype(make_transform(std::forward< decltype(i)>(i), iterator_transformation::first< typename array_ref_decay< _tIterator >::type >))
| 管道匹配操作符。 更多...
template<typename _tIterator >
auto | ystdex::operator| (_tIterator &&i, second_tag) -> decltype(make_transform(std::forward< decltype(i)>(i), iterator_transformation::second< typename array_ref_decay< _tIterator >::type >))
template<typename _tIterator >
auto | ystdex::operator| (_tIterator &&i, indirect_tag) -> decltype(make_transform(std::forward< decltype(i)>(i), iterator_transformation::indirect< typename array_ref_decay< _tIterator >::type >))
template<typename _tIn , typename _fPred >
_tIn | ystdex::next_if (_tIn i, _fPred f, typename std::iterator_traits< _tIn >::difference_type n=1)
| 迭代器指向的值满足条件时取邻接迭代器，否则取原值。 更多...
template<typename _tIn , typename _type >
_tIn | ystdex::next_if_eq (_tIn i, const _type &val, typename std::iterator_traits< _tIn >::difference_type n=1)
template<typename _tBi , typename _fPred >
_tBi | ystdex::prev_if (_tBi i, _fPred f, typename std::iterator_traits< _tBi >::difference_type n=1)
| 迭代器指向的值满足条件时取反向邻接迭代器，否则取原值。 更多...
template<typename _tBi , typename _type >
_tBi | ystdex::prev_if_eq (_tBi i, const _type &val, typename std::iterator_traits< _tBi >::difference_type n=1)
template<typename _tIterator >
static auto | ystdex::iterator_transformation::first (const _tIterator &i) -> decltype((i->first))
template<typename _tIterator >
static auto | ystdex::iterator_transformation::second (const _tIterator &i) -> decltype((i->second))
template<typename _tIterator >
static auto | ystdex::iterator_transformation::indirect (const _tIterator &i) -> decltype((**i))

## 变量

const first_tag | ystdex::get_first {}
| 操纵子。 更多...
const first_tag | ystdex::get_key {}
const second_tag | ystdex::get_second {}
const second_tag | ystdex::get_value {}
const struct ystdex::indirect_tag | ystdex::get_indirect

## 详细描述

通用迭代器。

版本
  r3207

作者
  FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com

自从
  早于 build 189

创建时间:
  2011-01-27 23:01:00 +0800

修改时间:
  2014-05-23 10:05 +0800

文本编码:
  UTF-8

模块名称:
  YStandardEx::Iterator

在文件 iterator.hpp 中定义.