YSTest: Mutating Sequence Operations

YSTest PreAlpha_b700_20160611 The YSLib Test Project

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

模块 | 函数
Mutating Sequence Operations
Gerneral Algorithms

可变序列操作。 更多...

Mutating Sequence Operations 的协作图:

## 模块

| Trivial Type Operations
| 平凡类型操作。

## 函数

template<typename _tIn , typename _tOut , typename _fPred , typename _fOp >
_tOut | ystdex::transform_when (_tIn first, _tOut result, _fPred pred, _fOp op)
| 变换满足谓词的序列的连续元素。 更多...
template<typename _tIn , typename _tOut , typename _fPred >
_tOut | ystdex::copy_when (_tIn first, _tOut result, _fPred pred)
| 复制满足谓词的序列的连续元素。 更多...
template<typename _fOp , typename _tOut , typename... _tIns>
void | ystdex::transform_n (_fOp op, _tOut result, size_t n, _tIns...iters)
| 指定数量的序列变换。 更多...
template<typename _tFwd >
_tFwd | ystdex::stable_unique (_tFwd first, _tFwd last)
| 去除迭代器指定的范围中的重复元素，且不改变元素之间的相对顺序。 更多...
template<typename _tFwd , typename _fPred >
_tFwd | ystdex::stable_unique (_tFwd first, _tFwd last, _fPred pred)

## 详细描述

可变序列操作。

参见
  WG21 N3936 25.3[alg.modifying.operations] 。

自从
  build 531

## 函数说明

template<typename _tIn , typename _tOut , typename _fPred >

_tOut ystdex::copy_when | ( | _tIn | first,
|  | _tOut | result,
|  | _fPred | pred
| ) |  |

复制满足谓词的序列的连续元素。

在文件 algorithm.hpp 第 315 行定义.

参考 ystdex::transform_when(), v , 以及 ynothrow.

参考自 CHRLib::UCS2ToUCS4().

函数调用图:

这是这个函数的调用关系图:
template<typename _tFwd >

_tFwd ystdex::stable_unique | ( | _tFwd | first,
|  | _tFwd | last
| ) |  |

去除迭代器指定的范围中的重复元素，且不改变元素之间的相对顺序。

参数

  first | 输入范围起始迭代器。
  last | 输入范围终止迭代器。

返回
  输出范围终止迭代器。

注解
  输入和输出范围的起始迭代器相同。
  输出范围元素之间的相对顺序和输入的范围保持一致。
  时间复杂度： O(n^2) ，其中 n 满足 `std::advance(first, n) == last` 。
  使用 ADL 交换。

参见
  WG21 N3936 25.3.9[alg.unique] 。

自从
  build 531

在文件 algorithm.hpp 第 453 行定义.

参考 YSLib::i , 以及 ystdex::swap().

函数调用图:
template<typename _tFwd , typename _fPred >

_tFwd ystdex::stable_unique | ( | _tFwd | first,
|  | _tFwd | last,
|  | _fPred | pred
| ) |  |

参数

  pred | 比较等价的二元谓词。

在文件 algorithm.hpp 第 470 行定义.

参考 YSLib::i, ystdex::ref() , 以及 ystdex::swap().

函数调用图:
template<typename _fOp , typename _tOut , typename... _tIns>

void ystdex::transform_n | ( | _fOp | op,
|  | _tOut | result,
|  | size_t | n,
|  | _tIns... | iters
| ) |  |

指定数量的序列变换。

模板参数

  _fOp | 序列变换操作类型。
  _tOut | 表示结果的输出迭代器类型。
  _tIns | 输入迭代器类型。

前置条件
  迭代器可解引用。

警告
  不检查越界。

自从
  build 517

在文件 algorithm.hpp 第 335 行定义.

参考 ystdex::is_undereferenceable(), yconstraint , 以及 yunseq.

参考自 main().

函数调用图:

这是这个函数的调用关系图:
template<typename _tIn , typename _tOut , typename _fPred , typename _fOp >

_tOut ystdex::transform_when | ( | _tIn | first,
|  | _tOut | result,
|  | _fPred | pred,
|  | _fOp | op
| ) |  |

变换满足谓词的序列的连续元素。

模板参数

  _tIn | 输入迭代器类型。
  _tOut | 输出迭代器类型。
  _fPred | 谓词类型。

参数

  first | 被复制序列的起始输入迭代器。
  result | 输出迭代器。
  pred | 一元谓词。

前置条件
  迭代器可解引用。

自从
  build 594

模板参数

  _fOp | 变换操作类型。

参数

  op | 一元变换操作。

在文件 algorithm.hpp 第 302 行定义.

参考 ystdex::is_undereferenceable(), yconstraint , 以及 yunseq.

参考自 ystdex::copy_when() , 以及 CHRLib::UCS4ToUCS2().

函数调用图:

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