Lines Matching defs:buffer

4 /* Array is a buffer accessible using fixed size elements. As long as the
41 #include "buffer.h"
73 (const char *)(elem = *(array)->v) + (array)->arr.buffer->used; \
78 buffer_get_modifiable_data((array)->arr.buffer, NULL)) + \
79 (array)->arr.buffer->used; \
90 (_foreach_offset < (array)->arr.buffer->used) && \
99 elem != CONST_PTR_OFFSET(*(array)->v, (array)->arr.buffer->used); \
103 buffer_get_modifiable_data((array)->arr.buffer, NULL); \
104 elem != CONST_PTR_OFFSET(*(array)->v, (array)->arr.buffer->used); \
114 array_create_from_buffer_i(struct array *array, buffer_t *buffer,
117 array->buffer = buffer;
120 #define array_create_from_buffer(array, buffer, element_size) \
121 array_create_from_buffer_i(&(array)->arr, buffer, element_size)
127 buffer_t *buffer;
129 buffer = buffer_create_dynamic(pool, init_count * element_size);
130 array_create_from_buffer_i(array, buffer, element_size);
138 buffer_free(&array->buffer);
146 return array->buffer != NULL;
154 return buffer_get_pool(array->buffer);
162 buffer_set_used_size(array->buffer, 0);
170 return array->buffer->used / array->element_size;
176 ((array)->arr.buffer->used == 0)
178 ((array)->arr.buffer->used > 0)
183 buffer_append(array->buffer, data, count * array->element_size);
194 buffer_append_buf(dest_array->buffer, src_array->buffer, 0, (size_t)-1);
204 buffer_insert(array->buffer, idx * array->element_size,
215 buffer_delete(array->buffer, idx * array->element_size,
225 return array->buffer->data;
234 i_assert(idx * array->element_size < array->buffer->used);
235 return CONST_PTR_OFFSET(array->buffer->data, idx * array->element_size);
244 return buffer_get_modifiable_data(array->buffer, NULL);
275 data = buffer_append_space_unsafe(array->buffer, array->element_size);
295 buffer_copy(dest->buffer, dest_idx * dest->element_size,
296 src->buffer, src_idx * src->element_size,
307 buffer_t *buffer = array1->buffer;
310 array1->buffer = array2->buffer;
312 array2->buffer = buffer;