OGR
Classes | Typedefs | Functions
cpl_list.h File Reference
#include "cpl_port.h"

Go to the source code of this file.

Classes

struct  _CPLList
 

Typedefs

typedef struct _CPLList CPLList
 

Functions

CPLListCPLListAppend (CPLList *psList, void *pData)
 
CPLListCPLListInsert (CPLList *psList, void *pData, int nPosition)
 
CPLListCPLListGetLast (CPLList *psList)
 
CPLListCPLListGet (CPLList *psList, int nPosition)
 
int CPLListCount (CPLList *psList)
 
CPLListCPLListRemove (CPLList *psList, int nPosition)
 
void CPLListDestroy (CPLList *psList)
 
CPLListCPLListGetNext (CPLList *psElement)
 
void * CPLListGetData (CPLList *psElement)
 

Detailed Description

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.

Typedef Documentation

typedef struct _CPLList CPLList

List element structure.

Function Documentation

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.

Parameters
psListpointer to list head.
pDatapointer to inserted data object. May be NULL.
Returns
pointer to the head of modified list.

References CPLListGetLast(), CPLMalloc(), _CPLList::pData, and _CPLList::psNext.

Referenced by CPLListInsert().

int CPLListCount ( CPLList psList)

Return the number of elements in a list.

Parameters
psListpointer to list head.
Returns
number of elements in a list.

References _CPLList::psNext.

Referenced by CPLListInsert().

void CPLListDestroy ( CPLList psList)

Destroy a list. Caller responsible for freeing data objects contained in list elements.

Parameters
psListpointer to list head.

References _CPLList::psNext.

Referenced by CPLHashSetDestroy(), and CPLHashSetForeach().

CPLList* CPLListGet ( CPLList psList,
int  nPosition 
)

Return the pointer to the specified element in a list.

Parameters
psListpointer to list head.
nPositionthe index of the element in the list, 0 being the first element
Returns
pointer to the specified element in a list.

References _CPLList::psNext.

void* CPLListGetData ( CPLList psElement)

Return pointer to the data object contained in given list element.

Parameters
psElementpointer to list element.
Returns
pointer to the data object contained in given list element.

References _CPLList::pData.

CPLList* CPLListGetLast ( CPLList psList)

Return the pointer to last element in a list.

Parameters
psListpointer to list head.
Returns
pointer to last element in a list.

References _CPLList::psNext.

Referenced by CPLListAppend(), and CPLListInsert().

CPLList* CPLListGetNext ( CPLList psElement)

Return the pointer to next element in a list.

Parameters
psElementpointer to list element.
Returns
pointer to the list element preceded by the given 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.

Parameters
psListpointer to list head.
pDatapointer to inserted data object. May be NULL.
nPositionposition number to insert an object.
Returns
pointer to the head of modified list.

References CPLListAppend(), CPLListCount(), CPLListGetLast(), CPLMalloc(), _CPLList::pData, and _CPLList::psNext.

Referenced by CPLHashSetForeach(), and CPLHashSetInsert().

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.

Parameters
psListpointer to list head.
nPositionposition number to delet an element.
Returns
pointer to the head of modified list.

References _CPLList::psNext.


Generated for GDAL by doxygen 1.8.11.