OGR
|
#include "cpl_port.h"
Go to the source code of this file.
Classes | |
struct | _CPLList |
Typedefs | |
typedef struct _CPLList | CPLList |
Functions | |
CPLList * | CPLListAppend (CPLList *psList, void *pData) |
CPLList * | CPLListInsert (CPLList *psList, void *pData, int nPosition) |
CPLList * | CPLListGetLast (CPLList *psList) |
CPLList * | CPLListGet (CPLList *psList, int nPosition) |
int | CPLListCount (CPLList *psList) |
CPLList * | CPLListRemove (CPLList *psList, int nPosition) |
void | CPLListDestroy (CPLList *psList) |
CPLList * | CPLListGetNext (CPLList *psElement) |
void * | CPLListGetData (CPLList *psElement) |
Simplest list implementation. List contains only pointers to stored objects, not objects itself. All operations regarding allocation and freeing memory for objects should be performed by the caller.
Append an object list and return a pointer to the modified list. If the input list is NULL, then a new list is created.
psList | pointer to list head. |
pData | pointer to inserted data object. May be NULL. |
References CPLListGetLast(), CPLMalloc(), _CPLList::pData, and _CPLList::psNext.
Referenced by CPLListInsert().
int CPLListCount | ( | CPLList * | psList | ) |
Return the number of elements in a list.
psList | pointer to list head. |
References _CPLList::psNext.
Referenced by CPLListInsert().
void CPLListDestroy | ( | CPLList * | psList | ) |
Destroy a list. Caller responsible for freeing data objects contained in list elements.
psList | pointer to list head. |
References _CPLList::psNext.
Referenced by CPLHashSetDestroy(), and CPLHashSetForeach().
Return the pointer to the specified element in a list.
psList | pointer to list head. |
nPosition | the index of the element in the list, 0 being the first element |
References _CPLList::psNext.
void* CPLListGetData | ( | CPLList * | psElement | ) |
Return pointer to the data object contained in given list element.
psElement | pointer to list element. |
References _CPLList::pData.
Return the pointer to last element in a list.
psList | pointer to list head. |
References _CPLList::psNext.
Referenced by CPLListAppend(), and CPLListInsert().
Return the pointer to next element in a list.
psElement | pointer to list element. |
References _CPLList::psNext.
Insert an object into list at specified position (zero based). If the input list is NULL, then a new list is created.
psList | pointer to list head. |
pData | pointer to inserted data object. May be NULL. |
nPosition | position number to insert an object. |
References CPLListAppend(), CPLListCount(), CPLListGetLast(), CPLMalloc(), _CPLList::pData, and _CPLList::psNext.
Referenced by CPLHashSetForeach(), and CPLHashSetInsert().
Remove the element from the specified position (zero based) in a list. Data object contained in removed element must be freed by the caller first.
psList | pointer to list head. |
nPosition | position number to delet an element. |
References _CPLList::psNext.