MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
内存分配器

MSTL内存分配器的实现 更多...

class  standard_allocator< T >
 标准分配器类 更多...

类型定义

template<typename T>
using allocator = standard_allocator<T>
 标准分配器别名

函数

template<size_t Align>
MSTL_ALLOC_OPTIMIZE MSTL_CONSTEXPR20 void * allocate (const _INNER alloc_size_t bytes)
 内存分配函数
template<size_t Align>
MSTL_CONSTEXPR20 void deallocate (void *ptr, _INNER alloc_size_t bytes) noexcept
 内存释放函数
template<typename T, typename U>
MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator== (const standard_allocator< T > &, const standard_allocator< U > &) noexcept
 比较两个分配器是否相等
template<typename T, typename U>
MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator!= (const standard_allocator< T > &, const standard_allocator< U > &) noexcept
 比较两个分配器是否不等

详细描述

MSTL内存分配器的实现

类型定义说明

◆ allocator

template<typename T>
using allocator = standard_allocator<T>

标准分配器别名

模板参数
T元素类型

standard_allocator 提供的类型别名,用于统一接口。

在文件 standard_allocator.hpp439 行定义.

函数说明

◆ allocate()

template<size_t Align>
MSTL_ALLOC_OPTIMIZE MSTL_CONSTEXPR20 void * allocate ( const _INNER alloc_size_t bytes)

内存分配函数

模板参数
Align对齐要求
参数
bytes要分配的字节数
返回
分配的内存指针,如果bytes为0则返回nullptr

内存分配的统一入口。

在文件 standard_allocator.hpp190 行定义.

引用了 _INNER , 以及 _MSTL.

被这些函数引用 standard_allocator< U >::allocate().

◆ deallocate()

template<size_t Align>
MSTL_CONSTEXPR20 void deallocate ( void * ptr,
_INNER alloc_size_t bytes )
noexcept

内存释放函数

模板参数
Align对齐要求
参数
ptr要释放的内存指针
bytes要释放的字节数

内存释放的统一入口。

在文件 standard_allocator.hpp291 行定义.

引用了 _INNER , 以及 _MSTL.

被这些函数引用 standard_allocator< U >::deallocate().

◆ operator!=()

template<typename T, typename U>
MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator!= ( const standard_allocator< T > & ,
const standard_allocator< U > &  )
noexcept

比较两个分配器是否不等

模板参数
T第一个分配器元素类型
U第二个分配器元素类型
返回
总是返回 false

在文件 standard_allocator.hpp425 行定义.

◆ operator==()

template<typename T, typename U>
MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator== ( const standard_allocator< T > & ,
const standard_allocator< U > &  )
noexcept

比较两个分配器是否相等

模板参数
T第一个分配器元素类型
U第二个分配器元素类型
返回
总是返回 true

在文件 standard_allocator.hpp413 行定义.