mi-malloc 1.8/2.1
 
正在加载...
正在搜索...
无匹配项
C++ 封装器

带有 mi_ 前缀的各种分配函数实现,它们在内存不足时使用 C++ 语义,通常会调用 std::get_new_handler 并在失败时抛出 std::bad_alloc 异常。更多...

数据结构

结构体  mi_stl_allocator< T >
 用于 STL 容器的 mimalloc 的 std::allocator 实现。更多...
 

函数

void * mi_new (std::size_t n) noexcept(false)
 类似于 mi_malloc(),但在内存不足时,使用 std::get_new_handler 并在失败时抛出 std::bad_alloc 异常。
 
void * mi_new_n (size_t count, size_t size) noexcept(false)
 类似于 mi_mallocn(),但在内存不足时,使用 std::get_new_handler 并在失败时抛出 std::bad_alloc 异常。
 
void * mi_new_aligned (std::size_t n, std::align_val_t alignment) noexcept(false)
 类似于 mi_malloc_aligned(),但在内存不足时,使用 std::get_new_handler 并在失败时抛出 std::bad_alloc 异常。
 
void * mi_new_nothrow (size_t n)
 类似于 mi_malloc,但在内存不足时,使用 std::get_new_handler 但在失败时返回 NULL
 
void * mi_new_aligned_nothrow (size_t n, size_t alignment)
 类似于 mi_malloc_aligned,但在内存不足时,使用 std::get_new_handler 但在失败时返回 NULL
 
void * mi_new_realloc (void *p, size_t newsize)
 类似于 mi_realloc(),但在内存不足时,使用 std::get_new_handler 并在失败时抛出 std::bad_alloc 异常。
 
void * mi_new_reallocn (void *p, size_t newcount, size_t size)
 类似于 mi_reallocn(),但在内存不足时,使用 std::get_new_handler 并在失败时抛出 std::bad_alloc 异常。
 

详细描述

带有 mi_ 前缀的各种分配函数实现,它们在内存不足时使用 C++ 语义,通常会调用 std::get_new_handler 并在失败时抛出 std::bad_alloc 异常。

注意:使用 mimalloc-new-delete.h 头文件来全局覆盖 newdelete 运算符。这里的封装器主要为了方便需要从 C++ 接口调用 mimalloc 的库编写者。


数据结构文档

◆ mi_stl_allocator

struct mi_stl_allocator
template<class T>
struct mi_stl_allocator< T >

用于 STL 容器的 mimalloc 的 std::allocator 实现。

例如

std::vector<int, mi_stl_allocator<int> > vec;
vec.push_back(1);
vec.pop_back();

函数文档

◆ mi_new()

void * mi_new ( std::size_t n)

类似于 mi_malloc(),但在内存不足时,使用 std::get_new_handler 并在失败时抛出 std::bad_alloc 异常。

◆ mi_new_aligned()

void * mi_new_aligned ( std::size_t n,
std::align_val_t 对齐 )

类似于 mi_malloc_aligned(),但在内存不足时,使用 std::get_new_handler 并在失败时抛出 std::bad_alloc 异常。

◆ mi_new_aligned_nothrow()

void * mi_new_aligned_nothrow ( size_t n,
size_t 对齐 )

类似于 mi_malloc_aligned,但在内存不足时,使用 std::get_new_handler 但在失败时返回 NULL

◆ mi_new_n()

void * mi_new_n ( size_t 计数,
size_t size )

类似于 mi_mallocn(),但在内存不足时,使用 std::get_new_handler 并在失败时抛出 std::bad_alloc 异常。

◆ mi_new_nothrow()

void * mi_new_nothrow ( size_t n)

类似于 mi_malloc,但在内存不足时,使用 std::get_new_handler 但在失败时返回 NULL

◆ mi_new_realloc()

void * mi_new_realloc ( void * p,
size_t newsize )

类似于 mi_realloc(),但在内存不足时,使用 std::get_new_handler 并在失败时抛出 std::bad_alloc 异常。

◆ mi_new_reallocn()

void * mi_new_reallocn ( void * p,
size_t newcount,
size_t size )

类似于 mi_reallocn(),但在内存不足时,使用 std::get_new_handler 并在失败时抛出 std::bad_alloc 异常。