Man page - libwget-vector(3)
Packages contains this manual
- libwget-console(3)
- libwget-utils(3)
- libwget-error(3)
- libwget-hash(3)
- libwget-net(3)
- libwget-stringmap(3)
- libwget-xml(3)
- libwget-dns(3)
- libwget-robots(3)
- libwget-base64(3)
- libwget-io(3)
- libwget-parse_sitemap(3)
- libwget-dns-caching(3)
- libwget-printf(3)
- libwget-bitmap(3)
- libwget-vector(3)
- libwget-ip(3)
- libwget-hashmap(3)
- libwget-mem(3)
- libwget-thread(3)
- libwget-parse_atom(3)
- libwget-xalloc(3)
- libwget-random(3)
- libwget-list(3)
apt-get install wget2-dev
Manual
libwget-vector
NAMESYNOPSIS
Functions
Detailed Description
Function Documentation
wget_vector * wget_vector_create (int max, wget_vector_compare_fn * cmp)
void wget_vector_set_resize_factor (wget_vector * v, float factor)
int wget_vector_insert (wget_vector * v, const void * elem, int pos)
int wget_vector_insert_sorted (wget_vector * v, const void * elem)
int wget_vector_add_memdup (wget_vector * v, const void * elem, size_tsize)
int wget_vector_add (wget_vector * v, const void * elem)
int wget_vector_add_vprintf (wget_vector * v, const char * fmt, va_listargs)
int wget_vector_add_printf (wget_vector * v, const char * fmt, ...)
int wget_vector_replace (wget_vector * v, const void * elem, int pos)
int wget_vector_remove (wget_vector * v, int pos)
int wget_vector_remove_nofree (wget_vector * v, int pos)
int wget_vector_move (wget_vector * v, int old_pos, int new_pos)
int wget_vector_swap (wget_vector * v, int pos1, int pos2)
void wget_vector_free (wget_vector ** v)
void wget_vector_clear (wget_vector * v)
void wget_vector_clear_nofree (wget_vector * v)
int wget_vector_size (const wget_vector * v)
void * wget_vector_get (const wget_vector * v, int pos)
int wget_vector_browse (const wget_vector * v, wget_vector_browse_fn *browse, void * ctx)
void wget_vector_setcmpfunc (wget_vector * v, wget_vector_compare_fn * cmp)
void wget_vector_set_destructor (wget_vector * v, wget_vector_destructor *destructor)
void wget_vector_sort (wget_vector * v)
int wget_vector_find (const wget_vector * v, const void * elem)
bool wget_vector_contains (const wget_vector * v, const void * elem)
int wget_vector_findext (const wget_vector * v, int start, int direction,wget_vector_find_fn * find)
Author
NAME
libwget-vector - Vector functions
SYNOPSIS
Functions
wget_vector
*
wget_vector_create
(int max, wget_vector_compare_fn
*cmp)
void
wget_vector_set_resize_factor
(
wget_vector
*v, float factor)
int
wget_vector_insert
(
wget_vector
*v, const
void *elem, int pos)
int
wget_vector_insert_sorted
(
wget_vector
*v,
const void *elem)
int
wget_vector_add_memdup
(
wget_vector
*v,
const void *elem, size_t size)
int
wget_vector_add
(
wget_vector
*v, const
void *elem)
int
wget_vector_add_vprintf
(
wget_vector
*v,
const char *fmt, va_list args)
int
wget_vector_add_printf
(
wget_vector
*v,
const char *fmt,...)
int
wget_vector_replace
(
wget_vector
*v, const
void *elem, int pos)
int
wget_vector_remove
(
wget_vector
*v, int
pos)
int
wget_vector_remove_nofree
(
wget_vector
*v,
int pos)
int
wget_vector_move
(
wget_vector
*v, int
old_pos, int new_pos)
int
wget_vector_swap
(
wget_vector
*v, int
pos1, int pos2)
void
wget_vector_free
(
wget_vector
**v)
void
wget_vector_clear
(
wget_vector
*v)
void
wget_vector_clear_nofree
(
wget_vector
*v)
int
wget_vector_size
(const
wget_vector
*v)
void *
wget_vector_get
(const
wget_vector
*v,
int pos)
int
wget_vector_browse
(const
wget_vector
*v,
wget_vector_browse_fn *browse, void *ctx)
void
wget_vector_setcmpfunc
(
wget_vector
*v,
wget_vector_compare_fn *cmp)
void
wget_vector_set_destructor
(
wget_vector
*v, wget_vector_destructor *destructor)
void
wget_vector_sort
(
wget_vector
*v)
int
wget_vector_find
(const
wget_vector
*v,
const void *elem)
bool
wget_vector_contains
(const
wget_vector
*v, const void *elem)
int
wget_vector_findext
(const
wget_vector
*v,
int start, int direction, wget_vector_find_fn *find)
Detailed Description
Functions to realize vectors (growable arrays).
Function Documentation
wget_vector * wget_vector_create (int max, wget_vector_compare_fn * cmp)
Parameters
max
Initial number of
pre-allocated entries.
cmp
Comparison function for sorting/finding/sorted
insertion or NULL.
Returns
New vector instance
Create a new vector instance, to be freeâd after use with wget_vector_free() .
void wget_vector_set_resize_factor (wget_vector * v, float factor)
Parameters
v
Vector
factor
Vector growth factor
Set the factor for resizing the vector when it is full.
The new size is âfactor * oldsizeâ. If the new size is less or equal the old size, the involved insertion function will return an error and the internal state of the vector will not change.
Default is 2.
int wget_vector_insert (wget_vector * v, const void * elem, int pos)
Parameters
v
Vector where
elem
is inserted into
elem
Element to insert into
v
pos
Position to insert
elem
at
Returns
Index of inserted element (>= 0) or WGET_E_* on error (< 0)
Insert elem of at index pos .
elem is not cloned, the vector takes âownershipâ of the element.
An error is returned if v is NULL or pos is out of range (< 0 or > # of entries).
int wget_vector_insert_sorted (wget_vector * v, const void * elem)
Parameters
v
Vector where
elem
is inserted into
elem
Element to insert into
v
Returns
Index of inserted element (>= 0) or WGET_E_* on error (< 0)
Insert elem of at a position that keeps the sort order of the elements. If the vector has no comparison function, elem will be inserted as the last element. If the elements in the vector are not sorted, they will be sorted after returning from this function.
elem is not cloned, the vector takes âownershipâ of the element.
An error is returned if v is NULL.
int wget_vector_add_memdup (wget_vector * v, const void * elem, size_tsize)
Parameters
v
Vector where
elem
is appended to
elem
Element to append to a
v
size
Size of
elem
Returns
Index of inserted element (>= 0) or WGET_E_* on error (< 0)
Append elem of given size to vector v .
elem is cloned / copied (shallow).
An error is returned if v is NULL.
int wget_vector_add (wget_vector * v, const void * elem)
Parameters
v
Vector where
elem
is appended to
elem
Element to append to a
v
Returns
Index of inserted element (>= 0) or WGET_E_* on error (< 0)
Append elem to vector v .
elem is not cloned, the vector takes âownershipâ of the element.
An error is returned if v is NULL.
int wget_vector_add_vprintf (wget_vector * v, const char * fmt, va_listargs)
Parameters
v
Vector where
s
is appended to
fmt
Printf-like format string
args
Arguments for the
fmt
Returns
Index of appended element (>= 0) or WGET_E_* on error (< 0)
Construct string in a printf-like manner and append it as an element to vector v .
An error is returned if v or fmt is NULL.
int wget_vector_add_printf (wget_vector * v, const char * fmt, ...)
Parameters
v
Vector where
s
is appended to
fmt
Printf-like format string
...
Arguments for the
fmt
Returns
Index of appended element (>= 0) or WGET_E_* on error (< 0)
Construct string in a printf-like manner and append it as an element to vector v .
An error is returned if v or fmt is NULL.
int wget_vector_replace (wget_vector * v, const void * elem, int pos)
Parameters
v
Vector where
elem
is inserted
elem
Element to insert into
v
pos
Position to insert
elem
at
Returns
Index of inserted element (same as pos ) (>= 0) or WGET_E_* on error (< 0)
Replace the element at position pos with elem . If the vector has an element destructor function, this is called. The old element is freeâd.
elem is not cloned, the vector takes âownershipâ of the element.
An error is returned if v is NULL or pos is out of range (< 0 or > # of entries).
int wget_vector_remove (wget_vector * v, int pos)
Parameters
v
Vector to remove an
element from
pos
Position of element to remove
Returns
Index of appended element (>= 0) or WGET_E_* on error (< 0)
Remove the element at position pos . If the vector has an element destructor function, this is called. The element is freeâd.
An error is returned if v is NULL or pos is out of range (< 0 or > # of entries).
int wget_vector_remove_nofree (wget_vector * v, int pos)
Parameters
v
Vector to remove an
element from
pos
Position of element to remove
Returns
Index of removed element (same as pos ) (>= 0) or WGET_E_* on error (< 0)
Remove the element at position pos . No element destructor function is called, the element is not freeâd.
An error is returned if v is NULL or pos is out of range (< 0 or > # of entries).
int wget_vector_move (wget_vector * v, int old_pos, int new_pos)
Parameters
v
Vector to act on
old_pos
Position to move element from
new_pos
Position to move element to
Returns
Index of new position (same as new_pos ) (>= 0) or WGET_E_* on error (< 0)
Move the element at position old_pos to new_pos .
Other elements may change the position.
An error is returned if v is NULL or either old_pos or new_pos is out of range (< 0 or > # of entries).
int wget_vector_swap (wget_vector * v, int pos1, int pos2)
Parameters
v
Vector to act on
pos1
Position of element one
pos2
Position of element two
Returns
Index of second position (same as pos2 ) (>= 0) or WGET_E_* on error (< 0)
Swap the two elements at position pos1 and pos2 .
An error is returned if v is NULL or either pos1 or pos2 is out of range (< 0 or > # of entries).
void wget_vector_free (wget_vector ** v)
Parameters
v Vector to be freeâd
Free the vector v and itâs contents.
For each element the destructor function is called and the element freeâd thereafter. Then the vector itself is freeâd and set to NULL.
void wget_vector_clear (wget_vector * v)
Parameters
v Vector to be cleared
Free all elements of the vector v but not the vector itself.
For each element the destructor function is called and the element freeâd thereafter. The vector is then empty and can be reused.
void wget_vector_clear_nofree (wget_vector * v)
Parameters
v Vector to be cleared
Remove all elements of the vector v without freeâing them. The caller is responsible to care for the elements.
The vector is then empty and can be reused.
int wget_vector_size (const wget_vector * v)
Parameters
v Vector
Returns
The number of elements in the vector v
Retrieve the number of elements of the vector v . If v is NULL, 0 is returned.
void * wget_vector_get (const wget_vector * v, int pos)
Parameters
v
Vector
pos
Position of element to retrieve
Returns
The element at position pos or NULL on error
Retrieve the element at position pos .
NULL is returned if v is NULL or pos is out of range (< 0 or > # of entries).
int wget_vector_browse (const wget_vector * v, wget_vector_browse_fn *browse, void * ctx)
Parameters
v
Vector
browse
Function to be called for each element of
v
ctx
Context variable use as param to
browse
Returns
Return value of the last call to browse
Call function browse for each element of vector v or until browse returns a value not equal to zero.
browse is called with ctx and the pointer to the current element.
The return value of the last call to browse is returned or 0 if v is NULL.
void wget_vector_setcmpfunc (wget_vector * v, wget_vector_compare_fn * cmp)
Parameters
v
Vector
cmp
Function to compare elements
Set the compare function used by wget_vector_sort() .
void wget_vector_set_destructor (wget_vector * v, wget_vector_destructor *destructor)
Parameters
v
Vector
destructor
Function to be called for element
destruction
Set the destructor function that is called for each element to be removed. It should not free the element (pointer) itself.
void wget_vector_sort (wget_vector * v)
Parameters
v Vector
Sort the elements in vector v using the compare function. Do nothing if v is NULL or the compare function is not set.
int wget_vector_find (const wget_vector * v, const void * elem)
Parameters
v
Vector
elem
Element to search for
Returns
Index of the found element, WGET_E_UNKNOWN if not found or WGET_E_INVALID if v was NULL or there was no comparison function set
Searches for the given element using the compare function of the vector.
bool wget_vector_contains (const wget_vector * v, const void * elem)
Parameters
v
Vector
elem
Element to check for
Returns
True if element exists, else false
Checks whether the element elem exists or not.
int wget_vector_findext (const wget_vector * v, int start, int direction,wget_vector_find_fn * find)
Parameters
v
Vector
start
Index to start search from
direction
Direction of search
find
Function to be called for each element
Returns
Index of the found element, WGET_E_UNKNOWN if not found or WGET_E_INVALID if v was NULL or there was no comparison function set
Call find for each element starting at start . If find returns 0 the current index is returned.
Author
Generated automatically by Doxygen for wget2 from the source code.