MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
construct.hpp 文件参考

MSTL内存构造和销毁函数 更多...

construct.hpp 的引用(Include)关系图:

浏览该文件的源代码.

函数

template<typename T, typename... Args>
MSTL_CONSTEXPR20 enable_if_t< is_constructible_v< T, Args... >, void * > construct (T *ptr, Args &&... args) noexcept(is_nothrow_constructible_v< T, Args... >)
 在指定内存位置构造对象
template<typename T>
MSTL_CONSTEXPR20 void destroy (T *pointer) noexcept(is_nothrow_destructible_v< T >)
 销毁单个对象
template<typename Iterator, enable_if_t< is_iter_v< Iterator > &&!is_trivially_destructible_v< iter_value_t< Iterator > >, int > = 0>
MSTL_CONSTEXPR20 void destroy (Iterator first, Iterator last) noexcept(is_nothrow_destructible_v< iter_value_t< Iterator > >)
 销毁迭代器范围内的对象序列
template<typename Iterator, enable_if_t< is_iter_v< Iterator > &&is_trivially_destructible_v< iter_value_t< Iterator > >, int > = 0>
MSTL_CONSTEXPR20 void destroy (Iterator first, Iterator last) noexcept
 销毁迭代器范围内的对象序列

详细描述

MSTL内存构造和销毁函数

此文件提供了对象构造和销毁的通用函数,支持在已分配的内存上构造对象, 以及批量销毁对象。包括对平凡可析构类型的优化。

在文件 construct.hpp 中定义.

函数说明

◆ destroy()

template<typename Iterator, enable_if_t< is_iter_v< Iterator > &&is_trivially_destructible_v< iter_value_t< Iterator > >, int > = 0>
MSTL_CONSTEXPR20 void destroy ( Iterator first,
Iterator last )
noexcept

销毁迭代器范围内的对象序列

模板参数
Iterator迭代器类型
参数
first范围的起始迭代器
last范围的结束迭代器

对于平凡可析构的类型,不需要执行任何操作,直接返回。 这是对平凡可析构类型的优化。

在文件 construct.hpp79 行定义.