Go to the source code of this file.
|
LIB_API void | RegisterUniqueRangeDeleter (UniqueRangeDeleter deleter, volatile IdxDeleter *idxDeleter) |
| register a deleter, returning its index within the table. More...
|
|
LIB_API NOTHROW_DECLARE void | CallUniqueRangeDeleter (void *pointer, size_t size, IdxDeleter idxDeleter) |
|
static void | std::swap (UniqueRange &p1, UniqueRange &p2) |
|
static void | std::swap (RVALUE_REF(UniqueRange) p1, UniqueRange &p2) |
|
static void | std::swap (UniqueRange &p1, RVALUE_REF(UniqueRange) p2) |
|
LIB_API UniqueRange | AllocateAligned (size_t size, size_t alignment) |
|
LIB_API UniqueRange | AllocateVM (size_t size, vm::PageType pageSize=vm::kDefault, int prot=PROT_READ|PROT_WRITE) |
|
typedef void(* UniqueRangeDeleter)(void *pointer, size_t size) |
LIB_API UniqueRange AllocateAligned |
( |
size_t |
size, |
|
|
size_t |
alignment |
|
) |
| |
register a deleter, returning its index within the table.
- Parameters
-
deleter | function pointer. must be uniquely associated with the idxDeleter storage location. |
idxDeleter | location where to store the next available index. if it is already non-zero, skip the call to this function to avoid overhead. |
thread-safe. idxDeleter is used for mutual exclusion between multiple callers for the same deleter. concurrent registration of different deleters is also safe due to atomic increments.
halts the program if more than allocationAlignment deleters are to be registered.
Definition at line 28 of file unique_range.cpp.