带有 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 异常。