YSTest: Trivial Type Operations

YSTest PreAlpha_b700_20160611 The YSLib Test Project

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

函数
Trivial Type Operations
Gerneral Algorithms » Mutating Sequence Operations

平凡类型操作。 更多...

Trivial Type Operations 的协作图:

## 函数

template<typename _type >
_type * | ystdex::trivially_fill_n (_type *first, size_t n=1, byte value={})
| 填充字节序列。 更多...
template<typename _type >
void | ystdex::trivially_fill (_type *first, _type *last, byte value={})
template<typename _type >
_type * | ystdex::trivially_copy_n (const _type *first, size_t n, _type *result)
| 复制不覆盖的序列。 更多...
template<typename _type >
_type * | ystdex::trivially_copy (const _type *first, const _type *last, _type *result)
template<class _type >
_type * | ystdex::trivially_move_n (const _type *first, size_t n, _type *result)
| 复制可能覆盖的序列。 更多...
template<class _type >
_type * | ystdex::trivially_move (const _type *first, const _type *last, _type *result)

## 详细描述

平凡类型操作。

模板参数

  _type | 指定对象类型。

前置条件
  静态断言： `is_trivial<_type>()` 。
  范围中的指针有效。
  断言：范围起始指针满足 `!is_undereferenceable` 。

自从
  build 603

待办事项:
  使用 `is_trivially_copyable` 代替 `is_trivial` 。

## 函数说明

template<typename _type >

_type* ystdex::trivially_copy | ( | const _type * | first,
|  | const _type * | last,
|  | _type * | result
| ) |  |

inline

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

参考 ystdex::trivially_copy_n().

函数调用图:
template<typename _type >

_type* ystdex::trivially_copy_n | ( | const _type * | first,
|  | size_t | n,
|  | _type * | result
| ) |  |

inline

复制不覆盖的序列。

前置条件
  静态断言： `is_copy_assignment<_type>()` 。
  指针输入范围要求同 std::memcpy 。

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

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

参考自 ystdex::block_buffer::read(), ystdex::trivially_copy() , 以及 ystdex::block_buffer::write().

函数调用图:

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

void ystdex::trivially_fill | ( | _type * | first,
|  | _type * | last,
|  | byte | value = `{}`
| ) |  |

inline

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

template<typename _type >

_type* ystdex::trivially_fill_n | ( | _type * | first,
|  | size_t | n = `1`,
|  | byte | value = `{}`
| ) |  |

inline

填充字节序列。

前置条件
  指针输入范围要求同 std::memset 。

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

参考自 ystdex::block_buffer::fill().

这是这个函数的调用关系图:
template<class _type >

_type* ystdex::trivially_move | ( | const _type * | first,
|  | const _type * | last,
|  | _type * | result
| ) |  |

inline

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

参考 ystdex::trivially_move_n().

函数调用图:
template<class _type >

_type* ystdex::trivially_move_n | ( | const _type * | first,
|  | size_t | n,
|  | _type * | result
| ) |  |

inline

复制可能覆盖的序列。

前置条件
  静态断言： `is_copy_assignment<_type>()` 。
  指针输入范围要求同 std::memmove 。

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

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

参考自 YSLib::Drawing::TextRegion::Scroll() , 以及 ystdex::trivially_move().

函数调用图:

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