Back to Mimalloc

mi

docs/group__cpp.html

3.3.25.8 KB
Original Source

| | mi-malloc 1.8/2.1 | |

Loading...

Searching...

No Matches

Data Structures | Functions

C++ wrappers

mi_ prefixed implementations of various C++ allocation functions. More...

|

Data Structures

| | struct | [mi_stl_allocator< T >](#structmi stl allocator) | | | std::allocator implementation for mimalloc for use in STL containers. For example: [More...](#structmi stl allocator)
| | |

|

Functions

| | void * | mi_new (std::size_t n) noexcept(false) | | | like mi_malloc(), but when out of memory, use std::get_new_handler and raise std::bad_alloc exception on failure.
| | | | void * | mi_new_n (size_t count, size_t size) noexcept(false) | | | like mi_mallocn(), but when out of memory, use std::get_new_handler and raise std::bad_alloc exception on failure.
| | | | void * | mi_new_aligned (std::size_t n, std::align_val_t alignment) noexcept(false) | | | like mi_malloc_aligned(), but when out of memory, use std::get_new_handler and raise std::bad_alloc exception on failure.
| | | | void * | mi_new_nothrow (size_t n) | | | like mi_malloc, but when out of memory, use std::get_new_handler but return NULL on failure.
| | | | void * | mi_new_aligned_nothrow (size_t n, size_t alignment) | | | like mi_malloc_aligned, but when out of memory, use std::get_new_handler but return NULL on failure.
| | | | void * | mi_new_realloc (void *p, size_t newsize) | | | like mi_realloc(), but when out of memory, use std::get_new_handler and raise std::bad_alloc exception on failure.
| | | | void * | mi_new_reallocn (void *p, size_t newcount, size_t size) | | | like mi_reallocn(), but when out of memory, use std::get_new_handler and raise std::bad_alloc exception on failure.
| | |

Detailed Description

mi_ prefixed implementations of various C++ allocation functions.

These use C++ semantics on out-of-memory, generally calling std::get_new_handler and raising a std::bad_alloc exception on failure.

Note: use the mimalloc-new-delete.h header to override the new and delete operators globally. The wrappers here are mostly for convenience for library writers that need to interface with mimalloc from C++.


Data Structure Documentation

[◆](#structmi stl allocator)mi_stl_allocator

| struct mi_stl_allocator |

template<class T>
struct mi_stl_allocator< T >

std::allocator implementation for mimalloc for use in STL containers. For example:

std::vector<int, mi_stl_allocator<int> > vec;

vec.push_back(1);

vec.pop_back();

Function Documentation

mi_new()

| void * mi_new | ( | std::size_t | n | ) | |

like mi_malloc(), but when out of memory, use std::get_new_handler and raise std::bad_alloc exception on failure.

mi_new_aligned()

| void * mi_new_aligned | ( | std::size_t | n, | | | | std::align_val_t | alignment ) |

like mi_malloc_aligned(), but when out of memory, use std::get_new_handler and raise std::bad_alloc exception on failure.

mi_new_aligned_nothrow()

| void * mi_new_aligned_nothrow | ( | size_t | n, | | | | size_t | alignment ) |

like mi_malloc_aligned, but when out of memory, use std::get_new_handler but return NULL on failure.

mi_new_n()

| void * mi_new_n | ( | size_t | count, | | | | size_t | size ) |

like mi_mallocn(), but when out of memory, use std::get_new_handler and raise std::bad_alloc exception on failure.

mi_new_nothrow()

| void * mi_new_nothrow | ( | size_t | n | ) | |

like mi_malloc, but when out of memory, use std::get_new_handler but return NULL on failure.

mi_new_realloc()

| void * mi_new_realloc | ( | void * | p, | | | | size_t | newsize ) |

like mi_realloc(), but when out of memory, use std::get_new_handler and raise std::bad_alloc exception on failure.

mi_new_reallocn()

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

like mi_reallocn(), but when out of memory, use std::get_new_handler and raise std::bad_alloc exception on failure.

  • Generated by 1.11.0