|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
在指定内存位置构造对象 更多...
函数 | |
| template<typename T, typename... Args> | |
| NEFORCE_CONSTEXPR20 T * | construct (T *ptr, Args &&... args) noexcept(is_nothrow_constructible_v< T, Args... >) |
| 在指定内存位置构造对象 | |
| template<typename T> | |
| NEFORCE_CONSTEXPR20 void | destroy (T *pointer) noexcept(is_nothrow_destructible_v< T >) |
| 销毁单个对象 | |
| template<typename Iterator> | |
| NEFORCE_CONSTEXPR20 enable_if_t< is_iter_v< Iterator > &&!is_trivially_destructible_v< iter_value_t< Iterator > > > | destroy (Iterator first, Iterator last) noexcept(is_nothrow_destructible_v< iter_value_t< Iterator > >) |
| 销毁迭代器范围内的对象序列 | |
在指定内存位置构造对象
|
noexcept |
在指定内存位置构造对象
| T | 要构造的对象类型 |
| Args | 构造参数类型 |
| ptr | 指向已分配内存的指针 |
| args | 构造参数 |
使用定位new在指定内存位置构造对象,支持完美转发构造参数。 仅当T可以从Args...构造时才启用此重载。
在文件 construct.hpp 第 33 行定义.
引用了 forward(), is_constructible_v , 以及 is_nothrow_constructible_v.
被这些函数引用 allocate_shared(), optional< T >::emplace(), optional< T >::emplace(), vector< byte_t >::emplace(), deque< T, Alloc, BufSize >::emplace_back(), vector< byte_t >::emplace_back(), deque< T, Alloc, BufSize >::emplace_front(), make_shared(), optional< T >::operator=(), optional< T >::operator=(), optional< T >::operator=(), optional< T >::operator=(), optional< T >::operator=(), optional< T >::operator=(), optional< T >::optional(), optional< T >::optional(), optional< T >::optional(), optional< T >::optional(), optional< T >::optional(), optional< T >::optional(), optional< T >::optional(), optional< T >::optional(), optional< T >::optional(), optional< T >::optional() , 以及 vector< byte_t >::vector().
|
noexcept |
销毁迭代器范围内的对象序列
| Iterator | 迭代器类型 |
| first | 范围的起始迭代器 |
| last | 范围的结束迭代器 |
遍历迭代器范围,对每个元素调用析构函数。 仅当迭代器值类型非平凡可析构时才启用此重载。
在文件 construct.hpp 第 61 行定义.
引用了 destroy() , 以及 is_nothrow_destructible_v.
|
noexcept |
销毁单个对象
| T | 对象类型 |
| pointer | 指向要销毁对象的指针 |
显式调用对象的析构函数,但不释放内存。
在文件 construct.hpp 第 46 行定义.
引用了 is_nothrow_destructible_v.
被这些函数引用 vector< byte_t >::assign(), vector< byte_t >::clear(), destroy(), vector< byte_t >::emplace(), deque< T, Alloc, BufSize >::erase(), vector< byte_t >::erase(), vector< byte_t >::erase(), vector< byte_t >::insert(), vector< byte_t >::operator=(), deque< T, Alloc, BufSize >::pop_back(), vector< byte_t >::pop_back(), vector< byte_t >::pop_back_v(), deque< T, Alloc, BufSize >::pop_front(), vector< byte_t >::reserve(), optional< T >::reset(), vector< byte_t >::shrink_to_fit(), vector< byte_t >::vector() , 以及 temporary_buffer< Iterator >::~temporary_buffer().