#include "xroad_common_fwd.h"
#include "xroad_common_types.h"
#include <stdint.h>
#include <stdlib.h>
Go to the source code of this file.
|
xroad_vector_t * | xroad_vector_create_ex (size_t entry_size, size_t capacity, xroad_mem_pool_t *pool, xroad_vector_free_func_t free_func) |
|
void | xroad_vector_destroy (xroad_vector_t *vector) |
|
void | xroad_vector_destructor (void *vector) |
|
int32_t | xroad_vector_get_size (const xroad_vector_t *vector) |
|
int32_t | xroad_vector_get_capacity (const xroad_vector_t *vector) |
|
void | xroad_vector_insert (xroad_vector_t *vector, size_t pos, void *val) |
|
void | xroad_vector_delete_at (xroad_vector_t *vector, size_t pos, xroad_vector_free_func_t free_func) |
|
void | xroad_vector_pop_back (xroad_vector_t *vector, xroad_vector_free_func_t free_func) |
|
void * | xroad_vector_get_at (const xroad_vector_t *vector, size_t pos) |
|
int32_t | xroad_vector_find (xroad_vector_t *vector, void *val, xroad_cmp_func_t cb) |
|
void | xroad_vector_sort (xroad_vector_t *vector, xroad_cmp_func_t cb) |
|
void | xroad_vector_clear (xroad_vector_t *vector) |
|
◆ xroad_vector_create
#define xroad_vector_create |
( |
|
... | ) |
|
Value:({ \
xroad_vector_args_t args = {__VA_ARGS__}; \
xroad_vector_create_ex(args.entry_size, args.capacity, args.pool, args.dtor); \
})
◆ xroad_vector_get_first
return first entry of vector
- Parameters
-
[in] | vector | - pointer to vector container |
- Returns
- first entry
◆ xroad_vector_get_last
return last entry of vector
- Parameters
-
[in] | vector | - pointer to vector container |
- Returns
- last entry
◆ xroad_vector_push_back
insert value at the end of vector
- Parameters
-
[in] | vector | - pointer to vector container |
[in] | val | - pointer to inserted value |
◆ xroad_vector_push_front
insert value at the top of vector
- Parameters
-
[in] | vector | - pointer to vector container |
[in] | val | - pointer to inserted value |
◆ xroad_cmp_func_t
typedef int32_t(* xroad_cmp_func_t) (const void *, const void *) |
vector entries compare function
◆ xroad_vector_free_func_t
typedef void(* xroad_vector_free_func_t) (void *) |
◆ xroad_vector_clear()
removes all position from vector
- Parameters
-
[in] | vector | - pointer to vector container |
◆ xroad_vector_create_ex()
create new vector container
- Parameters
-
[in] | entry_size | - the size of entry |
[in] | capacity | - the initial capacity of vector |
[in] | pool | - memory pool. If NULL, glibc will be used |
[in] | free_func | - function for free vector entries data, NULL - no free performed |
- Returns
- vector object
◆ xroad_vector_delete_at()
delete entry from vector
- Parameters
-
[in] | vector | - pointer to vector container |
[in] | pos | - position in the container where entry should be deleted |
[in] | free_func | - function for free vector entries data, NULL - no free performed |
◆ xroad_vector_destroy()
destroy vector container
- Parameters
-
[in] | vector | - container to destroy. If NULL, nothing happened |
◆ xroad_vector_find()
return first found entry
- Parameters
-
[in] | vector | - pointer to vector container |
[in] | val | - searching value |
[in] | cb | - pointer to comparer callback |
- Returns
- - found position otherwise -1
◆ xroad_vector_get_at()
void* xroad_vector_get_at |
( |
const xroad_vector_t * |
vector, |
|
|
size_t |
pos |
|
) |
| |
return entry of vector
- Parameters
-
[in] | vector | - pointer to vector container |
[in] | pos | - position in the vector container |
- Returns
- vector entry
◆ xroad_vector_get_capacity()
return vector capacity
- Parameters
-
[in] | vector | - pointer to vector container |
◆ xroad_vector_get_size()
return vector size
- Parameters
-
[in] | vector | - pointer to vector container |
◆ xroad_vector_insert()
void xroad_vector_insert |
( |
xroad_vector_t * |
vector, |
|
|
size_t |
pos, |
|
|
void * |
val |
|
) |
| |
insert value into vector at specified position
- Parameters
-
[in] | vector | - pointer to vector container |
[in] | pos | - insert position |
[in] | val | - pointer to inserted value |
◆ xroad_vector_pop_back()
delete last_entry from vector
- Parameters
-
[in] | vector | - pointer to vector container |
[in] | free_func | - function for free vector entries data, NULL - no free performed |
◆ xroad_vector_sort()
sort vector elements
- Parameters
-
[in] | vector | - vector to sort |
[in] | cb | - comparer function |