GDAL
|
Simplest list implementation. More...
#include "cpl_port.h"
Go to the source code of this file.
Classes | |
struct | _CPLList |
List element structure. More... | |
Typedefs | |
typedef struct _CPLList | CPLList |
List element structure. | |
Functions | |
CPLList * | CPLListAppend (CPLList *psList, void *pData) |
Append an object list and return a pointer to the modified list. | |
CPLList * | CPLListInsert (CPLList *psList, void *pData, int nPosition) |
Insert an object into list at specified position (zero based). | |
CPLList * | CPLListGetLast (CPLList *psList) |
Return the pointer to last element in a list. | |
CPLList * | CPLListGet (CPLList *psList, int nPosition) |
Return the pointer to the specified element in a list. | |
int | CPLListCount (CPLList *psList) |
Return the number of elements in a list. | |
CPLList * | CPLListRemove (CPLList *psList, int nPosition) |
Remove the element from the specified position (zero based) in a list. | |
void | CPLListDestroy (CPLList *psList) |
Destroy a list. | |
CPLList * | CPLListGetNext (CPLList *psElement) |
Return the pointer to next element in a list. | |
void * | CPLListGetData (CPLList *psElement) |
Return pointer to the data object contained in given list element. |
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.
CPLList* CPLListAppend | ( | CPLList * | psList, |
void * | pData | ||
) |
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 _CPLList::pData, and _CPLList::psNext.
int CPLListCount | ( | CPLList * | psList | ) |
Return the number of elements in a list.
psList | pointer to list head. |
References _CPLList::psNext.
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.
CPLList* CPLListGet | ( | CPLList * | psList, |
int | nPosition | ||
) |
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.
CPLList* CPLListGetLast | ( | CPLList * | psList | ) |
Return the pointer to last element in a list.
psList | pointer to list head. |
References _CPLList::psNext.
CPLList* CPLListGetNext | ( | CPLList * | psElement | ) |
Return the pointer to next element in a list.
psElement | pointer to list element. |
References _CPLList::psNext.
CPLList* CPLListInsert | ( | CPLList * | psList, |
void * | pData, | ||
int | nPosition | ||
) |
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 _CPLList::pData, and _CPLList::psNext.
CPLList* CPLListRemove | ( | CPLList * | psList, |
int | nPosition | ||
) |
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.