MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
未初始化内存操作

在未初始化内存上进行的安全操作 更多...

函数

template<typename Iterator1, typename Iterator2, enable_if_t< is_ranges_fwd_iter_v< Iterator2 >, int > = 0>
MSTL_CONSTEXPR20 Iterator2 uninitialized_copy (Iterator1 first, Iterator1 last, Iterator2 result)
 复制元素到未初始化内存
template<typename Iterator1, typename Iterator2, enable_if_t< is_ranges_fwd_iter_v< Iterator2 >, int > = 0>
MSTL_CONSTEXPR20 pair< Iterator1, Iterator2 > uninitialized_copy_n (Iterator1 first, size_t count, Iterator2 result)
 复制指定数量的元素到未初始化内存
template<typename Iterator, typename T, enable_if_t< is_ranges_fwd_iter_v< Iterator >, int > = 0>
MSTL_CONSTEXPR20 void uninitialized_fill (Iterator first, Iterator last, const T &x)
 在未初始化内存上填充值
template<typename Iterator, typename T, enable_if_t< is_ranges_fwd_iter_v< Iterator >, int > = 0>
MSTL_CONSTEXPR20 Iterator uninitialized_fill_n (Iterator first, size_t n, const T &x)
 在未初始化内存中用指定值填充指定数量的元素
template<typename Iterator1, typename Iterator2, enable_if_t< is_ranges_input_iter_v< Iterator1 > &&is_ranges_fwd_iter_v< Iterator2 >, int > = 0>
MSTL_CONSTEXPR20 Iterator2 uninitialized_move (Iterator1 first, Iterator1 last, Iterator2 result)
 在未初始化内存中移动元素
template<typename Iterator1, typename Iterator2, enable_if_t< is_ranges_input_iter_v< Iterator1 > &&is_ranges_fwd_iter_v< Iterator2 >, int > = 0>
MSTL_CONSTEXPR20 pair< Iterator1, Iterator2 > uninitialized_move_n (Iterator1 first, size_t count, Iterator2 result)
 在未初始化内存中移动指定数量的元素

详细描述

在未初始化内存上进行的安全操作

函数说明

◆ uninitialized_copy()

template<typename Iterator1, typename Iterator2, enable_if_t< is_ranges_fwd_iter_v< Iterator2 >, int > = 0>
MSTL_CONSTEXPR20 Iterator2 uninitialized_copy ( Iterator1 first,
Iterator1 last,
Iterator2 result )

复制元素到未初始化内存

模板参数
Iterator1输入迭代器类型
Iterator2输出迭代器类型
参数
first输入范围起始
last输入范围结束
result输出范围起始
返回
输出范围结束迭代器
异常
memory_exception当值类型为非平凡类型时,如果构造过程中发生异常

将范围 [first, last) 的元素复制到未初始化的内存区域 [result, ...)。 如果复制过程中抛出异常,已构造的元素会被析构。

在文件 uninitialized.hpp89 行定义.

引用了 _INNER.

◆ uninitialized_copy_n()

template<typename Iterator1, typename Iterator2, enable_if_t< is_ranges_fwd_iter_v< Iterator2 >, int > = 0>
MSTL_CONSTEXPR20 pair< Iterator1, Iterator2 > uninitialized_copy_n ( Iterator1 first,
size_t count,
Iterator2 result )

复制指定数量的元素到未初始化内存

模板参数
Iterator1输入迭代器类型
Iterator2输出迭代器类型
参数
first输入起始
count要复制的元素数量
result输出起始
返回
pair<输入结束迭代器, 输出结束迭代器>
异常
memory_exception当值类型为非平凡类型时,如果构造过程中发生异常

从 first 开始复制 count 个元素到未初始化的内存区域。

在文件 uninitialized.hpp156 行定义.

引用了 _INNER , 以及 count().

◆ uninitialized_fill()

template<typename Iterator, typename T, enable_if_t< is_ranges_fwd_iter_v< Iterator >, int > = 0>
MSTL_CONSTEXPR20 void uninitialized_fill ( Iterator first,
Iterator last,
const T & x )

在未初始化内存上填充值

模板参数
Iterator迭代器类型
T值类型
参数
first范围起始
last范围结束
x要填充的值
异常
memory_exception当值类型为非平凡类型时,如果构造过程中发生异常

在未初始化的内存区域 [first, last) 上构造值为 x 的对象。 如果构造过程中抛出异常,已构造的元素会被析构。

在文件 uninitialized.hpp219 行定义.

引用了 _INNER.

◆ uninitialized_fill_n()

template<typename Iterator, typename T, enable_if_t< is_ranges_fwd_iter_v< Iterator >, int > = 0>
MSTL_CONSTEXPR20 Iterator uninitialized_fill_n ( Iterator first,
size_t n,
const T & x )

在未初始化内存中用指定值填充指定数量的元素

模板参数
Iterator迭代器类型
T值类型
参数
first起始位置
n要填充的元素数量
x要填充的值
返回
填充后的结束迭代器
异常
memory_exception当值类型为非平凡类型时,如果构造过程中发生异常

类似于 fill_n(),但在未初始化内存上操作。

在文件 uninitialized.hpp285 行定义.

引用了 _INNER.

◆ uninitialized_move()

template<typename Iterator1, typename Iterator2, enable_if_t< is_ranges_input_iter_v< Iterator1 > &&is_ranges_fwd_iter_v< Iterator2 >, int > = 0>
MSTL_CONSTEXPR20 Iterator2 uninitialized_move ( Iterator1 first,
Iterator1 last,
Iterator2 result )

在未初始化内存中移动元素

模板参数
Iterator1输入迭代器类型
Iterator2输出迭代器类型
参数
first输入范围起始
last输入范围结束
result输出范围起始
返回
输出范围结束迭代器
异常
memory_exception当值类型为非平凡类型时,如果构造过程中发生异常

将范围 [first, last) 的元素移动到以 result 开始的未初始化内存区域。 使用移动构造函数构造对象,可能使源对象处于有效但未指定的状态。

在文件 uninitialized.hpp353 行定义.

引用了 _INNER.

◆ uninitialized_move_n()

template<typename Iterator1, typename Iterator2, enable_if_t< is_ranges_input_iter_v< Iterator1 > &&is_ranges_fwd_iter_v< Iterator2 >, int > = 0>
MSTL_CONSTEXPR20 pair< Iterator1, Iterator2 > uninitialized_move_n ( Iterator1 first,
size_t count,
Iterator2 result )

在未初始化内存中移动指定数量的元素

模板参数
Iterator1输入迭代器类型
Iterator2输出迭代器类型
参数
first输入起始迭代器
count要移动的元素数量
result输出范围起始
返回
pair<输入结束迭代器, 输出结束迭代器>
异常
memory_exception当值类型为非平凡类型时,如果构造过程中发生异常

在文件 uninitialized.hpp419 行定义.

引用了 _INNER , 以及 count().