带有 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
头文件来全局覆盖 new 和 delete 运算符。这里的封装器主要为了方便需要从 C++ 接口调用 mimalloc 的库编写者。
struct mi_stl_allocator |
用于 STL 容器的 mimalloc 的 std::allocator 实现。
例如
void * mi_new | ( | std::size_t | n | ) |
类似于 mi_malloc(),但在内存不足时,使用 std::get_new_handler
并在失败时抛出 std::bad_alloc
异常。
void * mi_new_aligned | ( | std::size_t | n, |
std::align_val_t | 对齐 ) |
类似于 mi_malloc_aligned(),但在内存不足时,使用 std::get_new_handler
并在失败时抛出 std::bad_alloc
异常。
void * mi_new_aligned_nothrow | ( | size_t | n, |
size_t | 对齐 ) |
类似于 mi_malloc_aligned
,但在内存不足时,使用 std::get_new_handler
但在失败时返回 NULL。
void * mi_new_n | ( | size_t | 计数, |
size_t | size ) |
类似于 mi_mallocn(),但在内存不足时,使用 std::get_new_handler
并在失败时抛出 std::bad_alloc
异常。
void * mi_new_nothrow | ( | size_t | n | ) |
类似于 mi_malloc
,但在内存不足时,使用 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
异常。