126 template<
typename T,
int N>
131 size_t total = (num_ele + pre_size) *
sizeof(T);
137 template<
typename T,
int N>
139 size_t& avail_sz,
void*& avail_p)
143 size_t total = (num_ele + pre_size) *
sizeof(T);
147 avail_p = (
ui8*)avail_p + total;
149 assert((avail_sz & 0x8000000000000000llu) == 0);
Definition ojph_mem.h:161
@ LFT_32BIT
Definition ojph_mem.h:168
@ LFT_INTEGER
Definition ojph_mem.h:170
@ LFT_16BIT
Definition ojph_mem.h:167
@ LFT_UNDEFINED
Definition ojph_mem.h:164
@ LFT_SIZE_MASK
Definition ojph_mem.h:172
@ LFT_BYTE
Definition ojph_mem.h:166
@ LFT_64BIT
Definition ojph_mem.h:169
line_buf()
Definition ojph_mem.h:176
ui32 flags
Definition ojph_mem.h:183
float * f32
Definition ojph_mem.h:187
size_t size
Definition ojph_mem.h:181
si32 * i32
Definition ojph_mem.h:185
void * p
Definition ojph_mem.h:188
ui32 pre_size
Definition ojph_mem.h:182
si64 * i64
Definition ojph_mem.h:186
void wrap(T *buffer, size_t num_ele, ui32 pre_size)
mem_elastic_allocator(ui32 chunk_size)
Definition ojph_mem.h:224
stores_list * cur_store
Definition ojph_mem.h:280
void get_buffer(ui32 needed_bytes, coded_lists *&p)
Definition ojph_mem.cpp:113
void restart()
Definition ojph_mem.cpp:133
size_t total_allocated
Definition ojph_mem.h:282
stores_list * allocate(stores_list **list, ui32 extended_bytes)
Definition ojph_mem.cpp:92
~mem_elastic_allocator()
Definition ojph_mem.h:228
stores_list * avail
Definition ojph_mem.h:281
stores_list * store
Definition ojph_mem.h:279
const ui32 chunk_size
Definition ojph_mem.h:283
size_t size_obj
Definition ojph_mem.h:154
mem_fixed_allocator()
Definition ojph_mem.h:61
void restart()
Definition ojph_mem.h:104
void * avail_obj
Definition ojph_mem.h:153
void * avail_data
Definition ojph_mem.h:153
void pre_alloc_data(size_t num_ele, ui32 pre_size)
Definition ojph_mem.h:72
void pre_alloc_obj(size_t num_ele)
Definition ojph_mem.h:78
size_t size_data
Definition ojph_mem.h:154
void * store
Definition ojph_mem.h:153
size_t allocated_data
Definition ojph_mem.h:155
size_t avail_size_data
Definition ojph_mem.h:154
T * post_alloc_local(size_t num_ele, ui32 pre_size, size_t &avail_sz, void *&avail_p)
Definition ojph_mem.h:138
T * post_alloc_data(size_t num_ele, ui32 pre_size)
Definition ojph_mem.h:112
~mem_fixed_allocator()
Definition ojph_mem.h:66
void alloc()
Definition ojph_mem.h:83
bool preallocation
Definition ojph_mem.h:156
size_t avail_size_obj
Definition ojph_mem.h:154
T * post_alloc_obj(size_t num_ele)
Definition ojph_mem.h:119
void pre_alloc_local(size_t num_ele, ui32 pre_size, size_t &sz)
Definition ojph_mem.h:127
Definition CoderOJPH.cpp:92
uint8_t ui8
Definition ojph_defs.h:50
void ojph_aligned_free(void *pointer)
T * align_ptr(T *ptr)
Definition ojph_arch.h:312
uint32_t ui32
Definition ojph_defs.h:54
void * ojph_aligned_malloc(size_t alignment, size_t size)
size_t calc_aligned_size(size_t size)
Definition ojph_arch.h:302
int32_t si32
Definition ojph_defs.h:55
int64_t si64
Definition ojph_defs.h:57
#define OJPH_ERROR(t,...)
Definition ojph_message.h:288
Definition ojph_mem.h:202
coded_lists(ui32 size)
Definition ojph_mem.h:203
ui32 avail_size
Definition ojph_mem.h:212
ui32 buf_size
Definition ojph_mem.h:211
ui8 * buf
Definition ojph_mem.h:213
coded_lists * next_list
Definition ojph_mem.h:210
line_buf * line
Definition ojph_mem.h:196
lifting_buf()
Definition ojph_mem.h:195
bool active
Definition ojph_mem.h:197
Definition ojph_mem.h:247
stores_list(ui32 available_bytes)
Definition ojph_mem.h:256
ui8 * orig_data
Definition ojph_mem.h:273
ui8 * data
Definition ojph_mem.h:273
ui32 available
Definition ojph_mem.h:274
ui32 orig_size
Definition ojph_mem.h:274
void restart()
Definition ojph_mem.h:262
stores_list * next_store
Definition ojph_mem.h:272
static constexpr ui32 stores_list_size16()
Definition ojph_mem.h:252
static ui32 eval_store_bytes(ui32 available_bytes)
Definition ojph_mem.h:268