qbarray.h.3 | qbarray.h.3 | |||
---|---|---|---|---|
qbarray.h(3) libqb qbarray .h(3) | qbarray.h(3) libqb qbarray .h(3) | |||
NAME | NAME | |||
qbarray.h - | qbarray.h - | |||
This is a dynamic array (it can grow, but without moving memory). | This is a dynamic array (it can grow, but without moving memory)'. | |||
SYNOPSIS | SYNOPSIS | |||
#include <stdint.h> | #include <stdint.h> | |||
#include <unistd.h> | #include <unistd.h> | |||
#include <qb/qbdefs.h> | #include <qb/qbdefs.h> | |||
Typedefs | Typedefs | |||
typedef struct qb_array qb_array_t | typedef struct qb_array qb_array_t | |||
This is an opaque data type representing an instance of an array . | This is an opaque data type representing an instance of an array '. | |||
Functions | Functions | |||
qb_array_t * qb_array_create (size_t max_elements, size_t element_si ze) | qb_array_t * qb_array_create (size_t max_elements, size_t element_si ze) | |||
Create an array with fixed sized elements. | Create an array with fixed sized elements'. | |||
qb_array_t * qb_array_create_2 (size_t max_elements, size_t element_ | ||||
size, size_t autogrow_elements) | ||||
Create an array with fixed sized elements'. | ||||
int32_t qb_array_index (qb_array_t *a, int32_t idx, void **element_o ut) | int32_t qb_array_index (qb_array_t *a, int32_t idx, void **element_o ut) | |||
Get an element at a particular index. | Get an element at a particular index'. | |||
int32_t qb_array_grow (qb_array_t *a, size_t max_elements) | int32_t qb_array_grow (qb_array_t *a, size_t max_elements) | |||
Grow the array. | Grow the array'. | |||
size_t qb_array_num_bins_get (qb_array_t *a) | ||||
Get the number of bins used or the array'. | ||||
size_t qb_array_elems_per_bin_get (qb_array_t *a) | ||||
Get the number of elements per bin'. | ||||
void qb_array_free (qb_array_t *a) | void qb_array_free (qb_array_t *a) | |||
Free all the memory used by the array. | Free all the memory used by the array'. | |||
Detailed Description | Detailed Description | |||
This is a dynamic array (it can grow, but without moving memory). | This is a dynamic array (it can grow, but without moving memory)'. | |||
arr = qb_array_create_2(64, sizeof(struct my_struct), 256); | ||||
... | ||||
res = qb_array_index(arr, idx, (void**)&my_ptr); | ||||
if (res < 0) { | ||||
return res; | ||||
} | ||||
// use my_ptr, now even if there is a grow, this pointer will be va | ||||
lid. | ||||
Typedef Documentation | Typedef Documentation | |||
typedef struct qb_array qb_array_t | typedef struct qb_array qb_array_t | |||
This is an opaque data type representing an instance of an array. | This is an opaque data type representing an instance of an array'. | |||
Function Documentation | Function Documentation | |||
qb_array_t* qb_array_create (size_t max_elements, size_t element_size) | qb_array_t* qb_array_create (size_tmax_elements, size_telement_size) | |||
Create an array with fixed sized elements. Parameters: | Create an array with fixed sized elements'. Parameters: | |||
max_elements initial max elements. | max_elements initial max elements'. | |||
element_size size of each element. | element_size size of each element'. | |||
Returns: | ||||
array instance'. | ||||
qb_array_t* qb_array_create_2 (size_tmax_elements, size_telement_size, s | ||||
ize_tautogrow_elements) | ||||
Create an array with fixed sized elements'. Parameters: | ||||
max_elements initial max elements'. | ||||
element_size size of each element'. | ||||
autogrow_elements the number of elements to grow automatically b | ||||
y'. | ||||
Returns: | Returns: | |||
array instance. | array instance'. | |||
size_t qb_array_elems_per_bin_get (qb_array_t *a) | ||||
Get the number of elements per bin'. | ||||
void qb_array_free (qb_array_t * a) | void qb_array_free (qb_array_t *a) | |||
Free all the memory used by the array. Parameters: | Free all the memory used by the array'. Parameters: | |||
a array instance. | a array instance'. | |||
int32_t qb_array_grow (qb_array_t * a, size_t max_elements) | int32_t qb_array_grow (qb_array_t *a, size_tmax_elements) | |||
Grow the array. Parameters: | Grow the array'. Parameters: | |||
a array instance. | a array instance'. | |||
max_elements the new maximum size of the array. | max_elements the new maximum size of the array'. | |||
Returns: | Returns: | |||
(0 == success, else -errno) | (0 == success, else -errno) | |||
int32_t qb_array_index (qb_array_t * a, int32_t idx, void ** element_out | int32_t qb_array_index (qb_array_t *a, int32_tidx, void **element_out) | |||
) | Get an element at a particular index'. Parameters: | |||
Get an element at a particular index. Parameters: | a array instance'. | |||
a array instance. | ||||
idx the index | idx the index | |||
element_out the pointer to the element data. | element_out the pointer to the element data'. | |||
Returns: | Returns: | |||
(0 == success, else -errno) | (0 == success, else -errno) | |||
size_t qb_array_num_bins_get (qb_array_t *a) | ||||
Get the number of bins used or the array'. | ||||
Author | Author | |||
Generated automatically by Doxygen for libqb from the source code. | Generated automatically by Doxygen for libqb from the source code'. | |||
Version 0.4.1 Mon Jan 31 2011 qbarray .h(3) | Version 0.8.1 Thu Jan 5 2012 qbarray .h(3) | |||
End of changes. 16 change blocks. | ||||
27 lines changed or deleted | 59 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |