|
NexusForce 1.0.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> | |
| constexpr 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> | |
| constexpr 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> | |
| constexpr 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> | |
| constexpr 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> | |
| constexpr 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> | |
| constexpr Iterator2 | uninitialized_move_n (Iterator1 first, size_t count, Iterator2 result) |
| 在未初始化内存中移动指定数量的元素 | |
在未初始化内存上进行的安全操作
|
constexpr |
复制元素到未初始化内存
| Iterator1 | 输入迭代器类型 |
| Iterator2 | 输出迭代器类型 |
| first | 输入范围起始 |
| last | 输入范围结束 |
| result | 输出范围起始 |
| memory_exception | 当值类型为非平凡类型时,如果构造过程中发生异常 |
将范围 [first, last) 的元素复制到未初始化的内存区域 [result, ...)。 如果复制过程中抛出异常,已构造的元素会被析构。
在文件 uninitialized.hpp 第 90 行定义.
被这些函数引用 vector< byte_t >::insert() , 以及 vector< byte_t >::operator=().
|
constexpr |
复制指定数量的元素到未初始化内存
| Iterator1 | 输入迭代器类型 |
| Iterator2 | 输出迭代器类型 |
| first | 输入起始 |
| count | 要复制的元素数量 |
| result | 输出起始 |
| memory_exception | 当值类型为非平凡类型时,如果构造过程中发生异常 |
从 first 开始复制 count 个元素到未初始化的内存区域。
在文件 uninitialized.hpp 第 156 行定义.
引用了 count().
被这些函数引用 basic_string< char >::append().
|
constexpr |
在未初始化内存上填充值
| Iterator | 迭代器类型 |
| T | 值类型 |
| first | 范围起始 |
| last | 范围结束 |
| x | 要填充的值 |
| memory_exception | 当值类型为非平凡类型时,如果构造过程中发生异常 |
在未初始化的内存区域 [first, last) 上构造值为 x 的对象。 如果构造过程中抛出异常,已构造的元素会被析构。
在文件 uninitialized.hpp 第 218 行定义.
|
constexpr |
在未初始化内存中用指定值填充指定数量的元素
| Iterator | 迭代器类型 |
| T | 值类型 |
| first | 起始位置 |
| n | 要填充的元素数量 |
| x | 要填充的值 |
| memory_exception | 当值类型为非平凡类型时,如果构造过程中发生异常 |
类似于 fill_n(),但在未初始化内存上操作。
在文件 uninitialized.hpp 第 288 行定义.
被这些函数引用 vector< byte_t >::assign(), deque< T, Alloc, BufSize >::insert() , 以及 vector< byte_t >::insert().
|
constexpr |
在未初始化内存中移动元素
| Iterator1 | 输入迭代器类型 |
| Iterator2 | 输出迭代器类型 |
| first | 输入范围起始 |
| last | 输入范围结束 |
| result | 输出范围起始 |
| memory_exception | 当值类型为非平凡类型时,如果构造过程中发生异常 |
将范围 [first, last) 的元素移动到以 result 开始的未初始化内存区域。 使用移动构造函数构造对象,可能使源对象处于有效但未指定的状态。
在文件 uninitialized.hpp 第 359 行定义.
被这些函数引用 vector< byte_t >::emplace(), vector< byte_t >::insert(), vector< byte_t >::reserve() , 以及 vector< byte_t >::shrink_to_fit().
|
constexpr |
在未初始化内存中移动指定数量的元素
| Iterator1 | 输入迭代器类型 |
| Iterator2 | 输出迭代器类型 |
| first | 输入起始迭代器 |
| count | 要移动的元素数量 |
| result | 输出范围起始 |
| memory_exception | 当值类型为非平凡类型时,如果构造过程中发生异常 |
在文件 uninitialized.hpp 第 424 行定义.
引用了 count().