Clustal Omega  1.2.4
Functions
list.c File Reference
#include <assert.h>
#include <string.h>
#include "list.h"
Include dependency graph for list.c:

Functions

void ListInit (list_t *prList, void(*destroy)(void *data))
 Initialise data members of a list. More...
 
void ListDestroy (list_t *prList)
 Calls user defined function to free data in list and resets the list to NULL. Call even if your destroy function is NULL. More...
 
int ListInsertNext (list_t *prList, list_elem_t *prElement, const void *pvData)
 Insert data next to given element. More...
 
int ListRemoveNext (list_t *prList, list_elem_t *prElement, void **pvData_p)
 Remove next element from current element/position. More...
 
int IntListInsertNext (list_t *prList, list_elem_t *prElement, const int data)
 Insert int next to given element. More...
 
int IntListRemoveNext (list_t *prList, list_elem_t *prElement, int *iData_p)
 Remove next element from current element/position. More...
 

Function Documentation

◆ IntListInsertNext()

int IntListInsertNext ( list_t prList,
list_elem_t prElement,
const int  data 
)

Insert int next to given element.

Parameters
[in]prListList into which to insert
[in]prElementCurrent position/element. Element after which to insert. If NULL head is used.
[in]dataint to store
Returns
Non-zero on failure

◆ IntListRemoveNext()

int IntListRemoveNext ( list_t prList,
list_elem_t prElement,
int *  iData_p 
)

Remove next element from current element/position.

Parameters
[in]prListList from which an element is to be removed.
[in]prElementCurrent element/position. Next item will be removed. If NULL head is used.
[out]iData_pWill be pointed to removed elements data.
Returns
Non-zero on failure

◆ ListDestroy()

void ListDestroy ( list_t prList)

Calls user defined function to free data in list and resets the list to NULL. Call even if your destroy function is NULL.

Parameters
[in]prListThe list to destroy

◆ ListInit()

void ListInit ( list_t prList,
void(*)(void *data)  destroy 
)

Initialise data members of a list.

Parameters
[in]prListList to initialise
[in]destroyA function to be called with pointer to data when destroying the list. NULL if in doubt, free in most other cases. Note: doxygen will always fail to parse this...

◆ ListInsertNext()

int ListInsertNext ( list_t prList,
list_elem_t prElement,
const void *  pvData 
)

Insert data next to given element.

Parameters
[in]prListList into which to insert
[in]prElementCurrent position/element. Element after which to insert. If NULL head is used.
[in]pvDataPointer to data to store
Returns
Non-zero on failure

◆ ListRemoveNext()

int ListRemoveNext ( list_t prList,
list_elem_t prElement,
void **  pvData_p 
)

Remove next element from current element/position.

Parameters
[in]prListList from which an element is to be removed.
[in]prElementCurrent element/position. Next item will be removed. If NULL head is used.
[out]pvData_pWill be pointed to removed elements data.
Returns
Non-zero on failure