18 #ifndef __XMMSV_LIST_H__ 19 #define __XMMSV_LIST_H__ void xmmsv_list_iter_first(xmmsv_list_iter_t *it)
Rewind the iterator to the start of the list.
int xmmsv_list_insert_int(xmmsv_t *v, int pos, int32_t val)
struct xmmsv_list_iter_St xmmsv_list_iter_t
int xmmsv_list_insert_coll(xmmsv_t *v, int pos, xmmsv_coll_t *val)
int xmmsv_list_iter_insert_string(xmmsv_list_iter_t *it, const char *val)
int xmmsv_list_append(xmmsv_t *listv, xmmsv_t *val)
Append an element to the end of the list xmmsv_t.
int xmmsv_list_clear(xmmsv_t *listv)
Empty the list from all its elements.
int xmmsv_list_insert_string(xmmsv_t *v, int pos, const char *val)
int xmmsv_list_iter_remove(xmmsv_list_iter_t *it)
Remove the element in the list at the position pointed at by the iterator.
int xmmsv_list_iter_entry_coll(xmmsv_list_iter_t *it, xmmsv_coll_t **val)
int xmmsv_list_get_int(xmmsv_t *v, int pos, int32_t *val)
int xmmsv_list_append_string(xmmsv_t *v, const char *val)
int xmmsv_list_set_string(xmmsv_t *v, int pos, const char *val)
int xmmsv_list_iter_tell(const xmmsv_list_iter_t *it)
Tell the position of the iterator.
int xmmsv_get_list_iter(const xmmsv_t *val, xmmsv_list_iter_t **it)
Retrieves a list iterator from a list xmmsv_t.
int xmmsv_list_append_int(xmmsv_t *v, int32_t val)
int xmmsv_list_restrict_type(xmmsv_t *listv, xmmsv_type_t type)
int xmmsv_list_append_coll(xmmsv_t *v, xmmsv_coll_t *val)
int xmmsv_list_move(xmmsv_t *listv, int old_pos, int new_pos)
Move the element from position #old to position #new.
void xmmsv_list_iter_next(xmmsv_list_iter_t *it)
Advance the iterator to the next element in the list.
xmmsv_t * xmmsv_new_list(void)
Allocates a new list xmmsv_t.
void xmmsv_list_iter_explicit_destroy(xmmsv_list_iter_t *it)
Explicitly free list iterator.
struct xmmsv_coll_St xmmsv_coll_t
int xmmsv_list_get(xmmsv_t *listv, int pos, xmmsv_t **val)
Get the element at the given position in the list xmmsv_t.
void xmmsv_list_iter_prev(xmmsv_list_iter_t *it)
Move the iterator to the previous element in the list.
int xmmsv_list_iter_seek(xmmsv_list_iter_t *it, int pos)
Move the iterator to the n-th element in the list.
int xmmsv_list_remove(xmmsv_t *listv, int pos)
Remove the element at the given position from the list xmmsv_t.
int xmmsv_list_get_size(xmmsv_t *listv)
Return the size of the list.
int xmmsv_list_set_coll(xmmsv_t *v, int pos, xmmsv_coll_t *val)
void xmmsv_list_iter_last(xmmsv_list_iter_t *it)
Move the iterator to end of the list.
int xmmsv_list_set(xmmsv_t *listv, int pos, xmmsv_t *val)
Set the element at the given position in the list xmmsv_t.
int xmmsv_list_get_string(xmmsv_t *v, int pos, const char **val)
int xmmsv_list_iter_insert_coll(xmmsv_list_iter_t *it, xmmsv_coll_t *val)
int xmmsv_list_iter_entry_string(xmmsv_list_iter_t *it, const char **val)
int xmmsv_list_iter_valid(xmmsv_list_iter_t *it)
Check whether the iterator is valid and points to a valid element.
int xmmsv_list_iter_insert(xmmsv_list_iter_t *it, xmmsv_t *val)
Insert an element in the list at the position pointed at by the iterator.
int xmmsv_list_iter_insert_int(xmmsv_list_iter_t *it, int32_t val)
int xmmsv_list_insert(xmmsv_t *listv, int pos, xmmsv_t *val)
Insert an element at the given position in the list xmmsv_t.
int xmmsv_list_iter_entry(xmmsv_list_iter_t *it, xmmsv_t **val)
Get the element currently pointed at by the iterator.
int xmmsv_list_set_int(xmmsv_t *v, int pos, int32_t val)
void(* xmmsv_list_foreach_func)(xmmsv_t *value, void *user_data)
int xmmsv_list_iter_entry_int(xmmsv_list_iter_t *it, int32_t *val)
int xmmsv_list_get_coll(xmmsv_t *v, int pos, xmmsv_coll_t **val)
int xmmsv_list_foreach(xmmsv_t *listv, xmmsv_list_foreach_func func, void *user_data)
Apply a function to each element in the list, in sequential order.
xmmsv_t * xmmsv_list_iter_get_parent(const xmmsv_list_iter_t *it)
Return the parent xmmsv_t of an iterator.