Woolz Image Processing  Version 1.8.3
AlcDLPList.c File Reference

A general purpose doubly linked circular list of pointers. More...

Functions

AlcDLPListAlcDLPListNew (AlcErrno *dstErr)
 Creates a list data structure which is required by all the other AlcDLPList functions. More...
 
AlcDLPItemAlcDLPItemNew (void *entry, void(*freeFn)(void *), AlcErrno *dstErr)
 Creates a list item data structure for building into a AlcDLPList list. More...
 
AlcErrno AlcDLPListFree (AlcDLPList *list)
 Free's the given list data structure and any list items. More...
 
AlcErrno AlcDLPListEntryInsert (AlcDLPList *list, AlcDLPItem *insBefore, void *entry, void(*freeFn)(void *))
 Inserts the given entry into the list before the given item. More...
 
AlcErrno AlcDLPListEntryAppend (AlcDLPList *list, AlcDLPItem *appAfter, void *entry, void(*freeFn)(void *))
 Appends the given entry into the list after the given item. More...
 
AlcDLPItemAlcDLPItemUnlink (AlcDLPList *list, AlcDLPItem *item, int freeItem, AlcErrno *dstErr)
 Removes the item from the list, but does not free the item unless the freeItem flag is set. More...
 
AlcErrno AlcDLPItemInsert (AlcDLPList *list, AlcDLPItem *insBefore, AlcDLPItem *newItem)
 Inserts a new item into the list before the given item. More...
 
AlcErrno AlcDLPItemAppend (AlcDLPList *list, AlcDLPItem *appAfter, AlcDLPItem *newItem)
 Appends a new item into the list after the given item. More...
 
AlcErrno AlcDLPItemFree (AlcDLPItem *item)
 Free's the list item which has already been removed from the list. More...
 
AlcErrno AlcDLPListSort (AlcDLPList *list, int(*entryCompFn)(void *, void *))
 Sorts the entire list using the given entry comparison function. More...
 
int AlcDLPListCount (AlcDLPList *list, AlcErrno *dstErr)
 Returns the number of items in the list. More...
 
AlcDLPItemAlcDLPListIterate (AlcDLPList *list, AlcDLPItem *item, AlcDirection dir, int(*iterFn)(AlcDLPList *, AlcDLPItem *, void *), void *iterData, AlcErrno *dstErr)
 Iterates the given function through the list, starting with the given item. The iteration may proceed towards either the head or tail of the list. The iterated function must take the form. More...
 

Detailed Description

A general purpose doubly linked circular list of pointers.

Author
Bill Hill
Date
November 1999
Version
Id
cc1761c9bf42726aa3b0f391a64b613b1302d2d3
Address: MRC Human Genetics Unit, MRC Institute of Genetics and Molecular Medicine, University of Edinburgh, Western General Hospital, Edinburgh, EH4 2XU, UK.
Copyright (C), [2012], The University Court of the University of Edinburgh, Old College, Edinburgh, UK.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Note
This code has been derived from the hguDlpList but has been stripped down for efficiency.