Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
list.h138 linesDownload Raw Back to libxml
1/*2 * Summary: lists interfaces3 * Description: this module implement the list support used in4 * various place in the library.5 *6 * Copy: See Copyright for the status of this software.7 *8 * Author: Gary Pennington <Gary.Pennington@uk.sun.com>9 */10 11#ifndef __XML_LINK_INCLUDE__12#define __XML_LINK_INCLUDE__13 14#include <libxml/xmlversion.h>15 16#ifdef __cplusplus17extern "C" {18#endif19 20typedef struct _xmlLink xmlLink;21typedef xmlLink *xmlLinkPtr;22 23typedef struct _xmlList xmlList;24typedef xmlList *xmlListPtr;25 26/**27 * xmlListDeallocator:28 * @lk:  the data to deallocate29 *30 * Callback function used to free data from a list.31 */32typedef void (*xmlListDeallocator) (xmlLinkPtr lk);33/**34 * xmlListDataCompare:35 * @data0: the first data36 * @data1: the second data37 *38 * Callback function used to compare 2 data.39 *40 * Returns 0 is equality, -1 or 1 otherwise depending on the ordering.41 */42typedef int  (*xmlListDataCompare) (const void *data0, const void *data1);43/**44 * xmlListWalker:45 * @data: the data found in the list46 * @user: extra user provided data to the walker47 *48 * Callback function used when walking a list with xmlListWalk().49 *50 * Returns 0 to stop walking the list, 1 otherwise.51 */52typedef int (*xmlListWalker) (const void *data, void *user);53 54/* Creation/Deletion */55XMLPUBFUN xmlListPtr56		xmlListCreate		(xmlListDeallocator deallocator,57	                                 xmlListDataCompare compare);58XMLPUBFUN void59		xmlListDelete		(xmlListPtr l);60 61/* Basic Operators */62XMLPUBFUN void *63		xmlListSearch		(xmlListPtr l,64					 void *data);65XMLPUBFUN void *66		xmlListReverseSearch	(xmlListPtr l,67					 void *data);68XMLPUBFUN int69		xmlListInsert		(xmlListPtr l,70					 void *data) ;71XMLPUBFUN int72		xmlListAppend		(xmlListPtr l,73					 void *data) ;74XMLPUBFUN int75		xmlListRemoveFirst	(xmlListPtr l,76					 void *data);77XMLPUBFUN int78		xmlListRemoveLast	(xmlListPtr l,79					 void *data);80XMLPUBFUN int81		xmlListRemoveAll	(xmlListPtr l,82					 void *data);83XMLPUBFUN void84		xmlListClear		(xmlListPtr l);85XMLPUBFUN int86		xmlListEmpty		(xmlListPtr l);87XMLPUBFUN xmlLinkPtr88		xmlListFront		(xmlListPtr l);89XMLPUBFUN xmlLinkPtr90		xmlListEnd		(xmlListPtr l);91XMLPUBFUN int92		xmlListSize		(xmlListPtr l);93 94XMLPUBFUN void95		xmlListPopFront		(xmlListPtr l);96XMLPUBFUN void97		xmlListPopBack		(xmlListPtr l);98XMLPUBFUN int99		xmlListPushFront	(xmlListPtr l,100					 void *data);101XMLPUBFUN int102		xmlListPushBack		(xmlListPtr l,103					 void *data);104 105/* Advanced Operators */106XMLPUBFUN void107		xmlListReverse		(xmlListPtr l);108XMLPUBFUN void109		xmlListSort		(xmlListPtr l);110XMLPUBFUN void111		xmlListWalk		(xmlListPtr l,112					 xmlListWalker walker,113					 void *user);114XMLPUBFUN void115		xmlListReverseWalk	(xmlListPtr l,116					 xmlListWalker walker,117					 void *user);118XMLPUBFUN void119		xmlListMerge		(xmlListPtr l1,120					 xmlListPtr l2);121XMLPUBFUN xmlListPtr122		xmlListDup		(const xmlListPtr old);123XMLPUBFUN int124		xmlListCopy		(xmlListPtr cur,125					 const xmlListPtr old);126/* Link operators */127XMLPUBFUN void *128		xmlLinkGetData          (xmlLinkPtr lk);129 130/* xmlListUnique() */131/* xmlListSwap */132 133#ifdef __cplusplus134}135#endif136 137#endif /* __XML_LINK_INCLUDE__ */138 
codekingpro/portable-devtools · Team Ai