  
    
    
    
    
    
    
    
  
  
    
      
        
          
libxml2-hash.html            
Prev          
        
        
          
general.html            
Up          
        
        
          
index.html            
Home          
        
        
          
libxml2-nanoftp.html            
Next          
        
        
libxml2 Reference Manual      
    
    
      
list    
    
list - lists interfaces
    
this module implement the list support used in various place in the library. 
    
Author(s): Gary Pennington <Gary.Pennington@uk.sun.com> 
    
      
Synopsis
      
typedef struct _xmlLink #xmlLinkxmlLink ;
typedef 
libxml2-list.html#xmlLinkxmlLink  * #xmlLinkPtrxmlLinkPtr ;
typedef struct _xmlList 
#xmlListxmlList ;
typedef 
libxml2-list.html#xmlListxmlList  * #xmlListPtrxmlListPtr ;
int	
#xmlListInsertxmlListInsert 			( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 void * data);
int	
#xmlListEmptyxmlListEmpty 			( libxml2-list.html#xmlListPtrxmlListPtr  l);
void	
#xmlListSortxmlListSort 			( libxml2-list.html#xmlListPtrxmlListPtr  l);
typedef void 
#xmlListDeallocatorxmlListDeallocator 		( libxml2-list.html#xmlLinkPtrxmlLinkPtr  lk);
void	
#xmlListMergexmlListMerge 			( libxml2-list.html#xmlListPtrxmlListPtr  l1, 					 libxml2-list.html#xmlListPtrxmlListPtr  l2);
libxml2-list.html#xmlListPtrxmlListPtr 	#xmlListCreatexmlListCreate 		( libxml2-list.html#xmlListDeallocatorxmlListDeallocator  deallocator, 					 libxml2-list.html#xmlListDataComparexmlListDataCompare  compare);
libxml2-list.html#xmlListPtrxmlListPtr 	#xmlListDupxmlListDup 		(const libxml2-list.html#xmlListPtrxmlListPtr  old);
int	
#xmlListRemoveLastxmlListRemoveLast 		( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 void * data);
void	
#xmlListWalkxmlListWalk 			( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 libxml2-list.html#xmlListWalkerxmlListWalker  walker, 					 const void * user);
int	
#xmlListRemoveAllxmlListRemoveAll 		( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 void * data);
int	
#xmlListCopyxmlListCopy 			( libxml2-list.html#xmlListPtrxmlListPtr  cur, 					 const libxml2-list.html#xmlListPtrxmlListPtr  old);
void	
#xmlListPopFrontxmlListPopFront 			( libxml2-list.html#xmlListPtrxmlListPtr  l);
void *	
#xmlListSearchxmlListSearch 			( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 void * data);
typedef int 
#xmlListWalkerxmlListWalker 			(const void * data, 					 const void * user);
int	
#xmlListRemoveFirstxmlListRemoveFirst 		( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 void * data);
void	
#xmlListReverseWalkxmlListReverseWalk 		( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 libxml2-list.html#xmlListWalkerxmlListWalker  walker, 					 const void * user);
void *	
#xmlLinkGetDataxmlLinkGetData 			( libxml2-list.html#xmlLinkPtrxmlLinkPtr  lk);
void	
#xmlListClearxmlListClear 			( libxml2-list.html#xmlListPtrxmlListPtr  l);
int	
#xmlListAppendxmlListAppend 			( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 void * data);
void	
#xmlListReversexmlListReverse 			( libxml2-list.html#xmlListPtrxmlListPtr  l);
typedef int 
#xmlListDataComparexmlListDataCompare 		(const void * data0, 					 const void * data1);
int	
#xmlListSizexmlListSize 			( libxml2-list.html#xmlListPtrxmlListPtr  l);
int	
#xmlListPushFrontxmlListPushFront 		( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 void * data);
libxml2-list.html#xmlLinkPtrxmlLinkPtr 	#xmlListEndxmlListEnd 		( libxml2-list.html#xmlListPtrxmlListPtr  l);
void	
#xmlListPopBackxmlListPopBack 			( libxml2-list.html#xmlListPtrxmlListPtr  l);
void *	
#xmlListReverseSearchxmlListReverseSearch 		( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 void * data);
int	
#xmlListPushBackxmlListPushBack 			( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 void * data);
libxml2-list.html#xmlLinkPtrxmlLinkPtr 	#xmlListFrontxmlListFront 		( libxml2-list.html#xmlListPtrxmlListPtr  l);
void	
#xmlListDeletexmlListDelete 			( libxml2-list.html#xmlListPtrxmlListPtr  l);
    
    
      
Description
    
    
      
Details
      
        
Structure xmlLink
struct _xmlLink {
The content of this structure is not made public by the API.
} xmlLink;
        
        
Typedef xmlLinkPtr
libxml2-list.html#xmlLinkxmlLink  * xmlLinkPtr;
        
        
Structure xmlList
struct _xmlList {
The content of this structure is not made public by the API.
} xmlList;
        
        
Typedef xmlListPtr
libxml2-list.html#xmlListxmlList  * xmlListPtr;
        
        
Function type 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.         
        
Function type xmlListDeallocator
void	xmlListDeallocator		( libxml2-list.html#xmlLinkPtrxmlLinkPtr  lk)Callback function used to free data from a list.
lk: the data to deallocate         
        
Function type 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.         
        
xmlLinkGetData ()
void *	xmlLinkGetData			( libxml2-list.html#xmlLinkPtrxmlLinkPtr  lk)See Returns.
lk: a link Returns: a pointer to the data referenced from this link         
        
xmlListAppend ()
int	xmlListAppend			( libxml2-list.html#xmlListPtrxmlListPtr  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         
        
xmlListClear ()
void	xmlListClear			( libxml2-list.html#xmlListPtrxmlListPtr  l)Remove the all data in the list
l: a list         
        
xmlListCopy ()
int	xmlListCopy			( libxml2-list.html#xmlListPtrxmlListPtr  cur, 					 const libxml2-list.html#xmlListPtrxmlListPtr  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         
        
xmlListCreate ()
libxml2-list.html#xmlListPtrxmlListPtr 	xmlListCreate		( libxml2-list.html#xmlListDeallocatorxmlListDeallocator  deallocator, 					 libxml2-list.html#xmlListDataComparexmlListDataCompare  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			( libxml2-list.html#xmlListPtrxmlListPtr  l)Deletes the list and its associated data
l: a list         
        
xmlListDup ()
libxml2-list.html#xmlListPtrxmlListPtr 	xmlListDup		(const libxml2-list.html#xmlListPtrxmlListPtr  old)Duplicate the list
old: the list Returns: a new copy of the list or NULL in case of error         
        
xmlListEmpty ()
int	xmlListEmpty			( libxml2-list.html#xmlListPtrxmlListPtr  l)Is the list empty ?
l: a list Returns: 1 if the list is empty, 0 if not empty and -1 in case of error         
        
xmlListEnd ()
libxml2-list.html#xmlLinkPtrxmlLinkPtr 	xmlListEnd		( libxml2-list.html#xmlListPtrxmlListPtr  l)Get the last element in the list
l: a list Returns: the last element in the list, or NULL         
        
xmlListFront ()
libxml2-list.html#xmlLinkPtrxmlLinkPtr 	xmlListFront		( libxml2-list.html#xmlListPtrxmlListPtr  l)Get the first element in the list
l: a list Returns: the first element in the list, or NULL         
        
xmlListInsert ()
int	xmlListInsert			( libxml2-list.html#xmlListPtrxmlListPtr  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         
        
xmlListMerge ()
void	xmlListMerge			( libxml2-list.html#xmlListPtrxmlListPtr  l1, 					 libxml2-list.html#xmlListPtrxmlListPtr  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         
        
xmlListPopBack ()
void	xmlListPopBack			( libxml2-list.html#xmlListPtrxmlListPtr  l)Removes the last element in the list
l: a list         
        
xmlListPopFront ()
void	xmlListPopFront			( libxml2-list.html#xmlListPtrxmlListPtr  l)Removes the first element in the list
l: a list         
        
xmlListPushBack ()
int	xmlListPushBack			( libxml2-list.html#xmlListPtrxmlListPtr  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         
        
xmlListPushFront ()
int	xmlListPushFront		( libxml2-list.html#xmlListPtrxmlListPtr  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         
        
xmlListRemoveAll ()
int	xmlListRemoveAll		( libxml2-list.html#xmlListPtrxmlListPtr  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         
        
xmlListRemoveFirst ()
int	xmlListRemoveFirst		( libxml2-list.html#xmlListPtrxmlListPtr  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		( libxml2-list.html#xmlListPtrxmlListPtr  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         
        
xmlListReverse ()
void	xmlListReverse			( libxml2-list.html#xmlListPtrxmlListPtr  l)Reverse the order of the elements in the list
l: a list         
        
xmlListReverseSearch ()
void *	xmlListReverseSearch		( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 void * data)Search the list in reverse order for an existing value of @data
l: a list data: a search value Returns: the value associated to @data or NULL in case of error         
        
xmlListReverseWalk ()
void	xmlListReverseWalk		( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 libxml2-list.html#xmlListWalkerxmlListWalker  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         
        
xmlListSearch ()
void *	xmlListSearch			( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 void * data)Search the list for an existing value of @data
l: a list data: a search value Returns: the value associated to @data or NULL in case of error         
        
xmlListSize ()
int	xmlListSize			( libxml2-list.html#xmlListPtrxmlListPtr  l)Get the number of elements in the list
l: a list Returns: the number of elements in the list or -1 in case of error         
        
xmlListSort ()
void	xmlListSort			( libxml2-list.html#xmlListPtrxmlListPtr  l)Sort all the elements in the list
l: a list         
        
xmlListWalk ()
void	xmlListWalk			( libxml2-list.html#xmlListPtrxmlListPtr  l, 					 libxml2-list.html#xmlListWalkerxmlListWalker  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         
      
    
  
