list

list —

Synopsis




struct      xmlLink;
typedef     xmlLinkPtr;
struct      xmlList;
typedef     xmlListPtr;
void        (*xmlListDeallocator)           (xmlLinkPtr lk);
int         (*xmlListDataCompare)           (const void *data0,
                                             const void *data1);
int         (*xmlListWalker)                (const void *data,
                                             const void *user);
xmlListPtr  xmlListCreate                   (xmlListDeallocator deallocator,
                                             xmlListDataCompare compare);
void        xmlListDelete                   (xmlListPtr l);
void*       xmlListSearch                   (xmlListPtr l,
                                             void *data);
void*       xmlListReverseSearch            (xmlListPtr l,
                                             void *data);
int         xmlListInsert                   (xmlListPtr l,
                                             void *data);
int         xmlListAppend                   (xmlListPtr l,
                                             void *data);
int         xmlListRemoveFirst              (xmlListPtr l,
                                             void *data);
int         xmlListRemoveLast               (xmlListPtr l,
                                             void *data);
int         xmlListRemoveAll                (xmlListPtr l,
                                             void *data);
void        xmlListClear                    (xmlListPtr l);
int         xmlListEmpty                    (xmlListPtr l);
xmlLinkPtr  xmlListFront                    (xmlListPtr l);
xmlLinkPtr  xmlListEnd                      (xmlListPtr l);
int         xmlListSize                     (xmlListPtr l);
void        xmlListPopFront                 (xmlListPtr l);
void        xmlListPopBack                  (xmlListPtr l);
int         xmlListPushFront                (xmlListPtr l,
                                             void *data);
int         xmlListPushBack                 (xmlListPtr l,
                                             void *data);
void        xmlListReverse                  (xmlListPtr l);
void        xmlListSort                     (xmlListPtr l);
void        xmlListWalk                     (xmlListPtr l,
                                             xmlListWalker walker,
                                             const void *user);
void        xmlListReverseWalk              (xmlListPtr l,
                                             xmlListWalker walker,
                                             const void *user);
void        xmlListMerge                    (xmlListPtr l1,
                                             xmlListPtr l2);
xmlListPtr  xmlListDup                      (const xmlListPtr old);
int         xmlListCopy                     (xmlListPtr cur,
                                             const xmlListPtr old);
void*       xmlLinkGetData                  (xmlLinkPtr lk);

Description

Details

struct xmlLink

struct xmlLink;


xmlLinkPtr

typedef xmlLink *xmlLinkPtr;


struct xmlList

struct xmlList;


xmlListPtr

typedef xmlList *xmlListPtr;


xmlListDeallocator ()

void        (*xmlListDeallocator)           (xmlLinkPtr lk);

Callback function used to free data from a list.

lk: the data to deallocate

xmlListDataCompare ()

int         (*xmlListDataCompare)           (const void *data0,
                                             const void *data1);

Callback function used to compare 2 data.

data0: the first data
data1: the second data
Returns :0 is equality, -1 or 1 otherwise depending on the ordering.

xmlListWalker ()

int         (*xmlListWalker)                (const void *data,
                                             const void *user);

Callback function used when walking a list with xmlListWalk().

data: the data found in the list
user: extra user provided data to the walker
Returns :0 to stop walking the list, 1 otherwise.

xmlListCreate ()

xmlListPtr  xmlListCreate                   (xmlListDeallocator deallocator,
                                             xmlListDataCompare compare);

Create a new list

deallocator: an optional deallocator function
compare: an optional comparison function
Returns :the new list or NULL in case of error

xmlListDelete ()

void        xmlListDelete                   (xmlListPtr l);

Deletes the list and its associated data

l: a list

xmlListSearch ()

void*       xmlListSearch                   (xmlListPtr l,
                                             void *data);

Search the list for an existing value of data

l: a list
data: a search value

xmlListReverseSearch ()

void*       xmlListReverseSearch            (xmlListPtr l,
                                             void *data);

Search the list in reverse order for an existing value of data

l: a list
data: a search value

xmlListInsert ()

int         xmlListInsert                   (xmlListPtr l,
                                             void *data);

Insert data in the ordered list at the beginning for this value

l: a list
data: the data
Returns :0 in case of success, 1 in case of failure

xmlListAppend ()

int         xmlListAppend                   (xmlListPtr l,
                                             void *data);

Insert data in the ordered list at the end for this value

l: a list
data: the data
Returns :0 in case of success, 1 in case of failure

xmlListRemoveFirst ()

int         xmlListRemoveFirst              (xmlListPtr l,
                                             void *data);

Remove the first instance associated to data in the list

l: a list
data: list data
Returns :1 if a deallocation occured, or 0 if not found

xmlListRemoveLast ()

int         xmlListRemoveLast               (xmlListPtr l,
                                             void *data);

Remove the last instance associated to data in the list

l: a list
data: list data
Returns :1 if a deallocation occured, or 0 if not found

xmlListRemoveAll ()

int         xmlListRemoveAll                (xmlListPtr l,
                                             void *data);

Remove the all instance associated to data in the list

l: a list
data: list data
Returns :the number of deallocation, or 0 if not found

xmlListClear ()

void        xmlListClear                    (xmlListPtr l);

Remove the all data in the list

l: a list

xmlListEmpty ()

int         xmlListEmpty                    (xmlListPtr l);

Is the list empty ?

l: a list
Returns :1 if the list is empty, 0 otherwise

xmlListFront ()

xmlLinkPtr  xmlListFront                    (xmlListPtr l);

Get the first element in the list

l: a list
Returns :the first element in the list, or NULL

xmlListEnd ()

xmlLinkPtr  xmlListEnd                      (xmlListPtr l);

Get the last element in the list

l: a list
Returns :the last element in the list, or NULL

xmlListSize ()

int         xmlListSize                     (xmlListPtr l);

Get the number of elements in the list

l: a list
Returns :the number of elements in the list

xmlListPopFront ()

void        xmlListPopFront                 (xmlListPtr l);

Removes the first element in the list

l: a list

xmlListPopBack ()

void        xmlListPopBack                  (xmlListPtr l);

Removes the last element in the list

l: a list

xmlListPushFront ()

int         xmlListPushFront                (xmlListPtr l,
                                             void *data);

add the new data at the beginning of the list

l: a list
data: new data
Returns :1 if successful, 0 otherwise

xmlListPushBack ()

int         xmlListPushBack                 (xmlListPtr l,
                                             void *data);

add the new data at the end of the list

l: a list
data: new data
Returns :1 if successful, 0 otherwise

xmlListReverse ()

void        xmlListReverse                  (xmlListPtr l);

Reverse the order of the elements in the list

l: a list

xmlListSort ()

void        xmlListSort                     (xmlListPtr l);

Sort all the elements in the list

l: a list

xmlListWalk ()

void        xmlListWalk                     (xmlListPtr l,
                                             xmlListWalker walker,
                                             const void *user);

Walk all the element of the first from first to last and apply the walker function to it

l: a list
walker: a processing function
user: a user parameter passed to the walker function

xmlListReverseWalk ()

void        xmlListReverseWalk              (xmlListPtr l,
                                             xmlListWalker walker,
                                             const void *user);

Walk all the element of the list in reverse order and apply the walker function to it

l: a list
walker: a processing function
user: a user parameter passed to the walker function

xmlListMerge ()

void        xmlListMerge                    (xmlListPtr l1,
                                             xmlListPtr l2);

include all the elements of the second list in the first one and clear the second list

l1: the original list
l2: the new list

xmlListDup ()

xmlListPtr  xmlListDup                      (const xmlListPtr old);

Duplicate the list

old: the list
Returns :a new copy of the list or NULL in case of error

xmlListCopy ()

int         xmlListCopy                     (xmlListPtr cur,
                                             const xmlListPtr old);

Move all the element from the old list in the new list

cur: the new list
old: the old list
Returns :0 in case of success 1 in case of error

xmlLinkGetData ()

void*       xmlLinkGetData                  (xmlLinkPtr lk);

See Returns.

lk: a link