18 size_t size,
size_t struct_size)
24 if (
size == 0 || struct_size == 0) {
33 * (array->
size * struct_size));
78 new_size = array->
length + up_to;
87 array->
size = new_size;
164 size_t end_len =
begin + length;
166 if (end_len >= array->
length) {
void * lexbor_array_obj_get_noi(lexbor_array_obj_t *array, size_t idx)
size_t lexbor_array_obj_size_noi(lexbor_array_obj_t *array)
void * lexbor_array_obj_pop(lexbor_array_obj_t *array)
size_t lexbor_array_obj_length_noi(lexbor_array_obj_t *array)
void * lexbor_array_obj_push(lexbor_array_obj_t *array)
uint8_t * lexbor_array_obj_expand(lexbor_array_obj_t *array, size_t up_to)
void lexbor_array_obj_delete(lexbor_array_obj_t *array, size_t begin, size_t length)
void lexbor_array_obj_clean(lexbor_array_obj_t *array)
void * lexbor_array_obj_push_wo_cls(lexbor_array_obj_t *array)
void * lexbor_array_obj_last_noi(lexbor_array_obj_t *array)
lexbor_array_obj_t * lexbor_array_obj_create(void)
lxb_status_t lexbor_array_obj_init(lexbor_array_obj_t *array, size_t size, size_t struct_size)
size_t lexbor_array_obj_struct_size_noi(lexbor_array_obj_t *array)
void lexbor_array_obj_erase_noi(lexbor_array_obj_t *array)
void * lexbor_array_obj_push_n(lexbor_array_obj_t *array, size_t count)
lexbor_array_obj_t * lexbor_array_obj_destroy(lexbor_array_obj_t *array, bool self_destroy)
lxb_inline void lexbor_array_obj_erase(lexbor_array_obj_t *array)
lxb_inline size_t lexbor_array_obj_struct_size(lexbor_array_obj_t *array)
lxb_inline size_t lexbor_array_obj_length(lexbor_array_obj_t *array)
lxb_inline size_t lexbor_array_obj_size(lexbor_array_obj_t *array)
lxb_inline void * lexbor_array_obj_get(const lexbor_array_obj_t *array, size_t idx)
lxb_inline void * lexbor_array_obj_last(lexbor_array_obj_t *array)
count(Countable|array $value, int $mode=COUNT_NORMAL)
@ LXB_STATUS_ERROR_MEMORY_ALLOCATION
@ LXB_STATUS_ERROR_OBJECT_IS_NULL
@ LXB_STATUS_ERROR_TOO_SMALL_SIZE
memset(ptr, 0, type->size)
LXB_API void * lexbor_realloc(void *dst, size_t size)
LXB_API void * lexbor_free(void *dst)
LXB_API void * lexbor_malloc(size_t size)
LXB_API void * lexbor_calloc(size_t num, size_t size)
unsigned int lxb_status_t