53#define PADUP(num, pad) (((num) + ((pad)-1)) & ~((pad)-1))
124 if (chunk_size_min >= 1024) {
126 chunk_size_min -= slop_space;
140#ifndef USE_TERMINATE_PARANOID
148 chunk_size_in_bytes = elem_size + (
uint)
sizeof(
data_t[2]);
166 data_curr_next = mi->
data_curr + (1 + data_offset);
180#ifdef USE_TERMINATE_PARANOID
187 mi->totalloc += elem_size;
196 memset(data, 0, elem_size);
203 memcpy(data, data_from, elem_size);
#define BLI_asan_unpoison(addr, size)
#define BLI_asan_poison(addr, size)
static void memiter_set_rewind_offset(BLI_memiter *mi)
void BLI_memiter_clear(BLI_memiter *mi)
void * BLI_memiter_elem_first(BLI_memiter *mi)
struct BLI_memiter_chunk BLI_memiter_chunk
void BLI_memiter_iter_init(BLI_memiter *mi, BLI_memiter_handle *iter)
void * BLI_memiter_iter_step_size(BLI_memiter_handle *iter, uint *r_size)
static void memiter_init(BLI_memiter *mi)
void BLI_memiter_alloc_from(BLI_memiter *mi, uint elem_size, const void *data_from)
void * BLI_memiter_elem_first_size(BLI_memiter *mi, uint *r_size)
uint BLI_memiter_count(const BLI_memiter *mi)
bool BLI_memiter_iter_done(const BLI_memiter_handle *iter)
struct BLI_memiter BLI_memiter
BLI_INLINE void memiter_chunk_step(BLI_memiter_handle *iter)
static void memiter_free_data(BLI_memiter *mi)
BLI_memiter * BLI_memiter_create(uint chunk_size_min)
void * BLI_memiter_iter_step(BLI_memiter_handle *iter)
struct BLI_memiter_elem BLI_memiter_elem
void * BLI_memiter_alloc(BLI_memiter *mi, uint elem_size)
void BLI_memiter_destroy(BLI_memiter *mi)
BLI_INLINE uint data_offset_from_size(uint size)
void * BLI_memiter_calloc(BLI_memiter *mi, uint elem_size)
Read Guarded memory(de)allocation.
#define MEM_SIZE_OVERHEAD
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
void *(* MEM_mallocN)(size_t len, const char *str)
size_t(* MEM_allocN_len)(const void *vmemh)
void MEM_freeN(void *vmemh)
_W64 unsigned int uintptr_t
struct BLI_memiter_chunk * next
struct BLI_memiter_elem * elem
uint chunk_size_in_bytes_min