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