TeoCCl library  0.1.7
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
linked_list.c File Reference
#include <stdlib.h>
#include <limits.h>
#include <string.h>
#include "teoccl/memory.h"
#include "teoccl/linked_list.h"

Macros

#define SIZE_T_MAX   ((size_t)-1)
 

Functions

ccl_linked_list_tcclLinkedListInit (const size_t data_size)
 
void cclLinkedListClear (ccl_linked_list_t *llist)
 
void cclLinkedListDestroy (ccl_linked_list_t *llist)
 
int cclLinkedListCount (const ccl_linked_list_t *llist)
 
int cclLinkedListEmpty (const ccl_linked_list_t *llist)
 
iter_llist_tcclLinkedListGetIter (ccl_linked_list_t *llist)
 
iter_llist_tcclLinkedListIterNext (iter_llist_t *it)
 
void * cclLinkedListIterData (iter_llist_t *it)
 
int cclLinkedListAddFirst (ccl_linked_list_t *llist, void *const data)
 
int cclLinkedListAddLast (ccl_linked_list_t *llist, void *const data)
 
int cclLinkedListAddAt (ccl_linked_list_t *llist, void *const data, const int idx)
 
int cclLinkedListGetFirst (ccl_linked_list_t *llist, void *const data)
 
int cclLinkedListGetLast (ccl_linked_list_t *llist, void *const data)
 
int cclLinkedListGetAt (ccl_linked_list_t *llist, const int idx, void *const data)
 
int cclLinkedListUpdateFirst (ccl_linked_list_t *llist, void *const data)
 
int cclLinkedListUpdateLast (ccl_linked_list_t *llist, void *const data)
 
int cclLinkedListUpdateAt (ccl_linked_list_t *llist, const int idx, void *const data)
 
int cclLinkedListRemoveFirst (ccl_linked_list_t *llist)
 
int cclLinkedListRemoveLast (ccl_linked_list_t *llist)
 
int cclLinkedListRemoveAt (ccl_linked_list_t *llist, const int idx)
 
void cclSortLinkedListAdd (ccl_linked_list_t *llist, void *data, int(*cmp)(const void *, const void *))
 
void cclLinkedListConcat (ccl_linked_list_t **f_list, ccl_linked_list_t *s_list)
 
void cclSortLinkedListMerge (ccl_linked_list_t **f_list, ccl_linked_list_t *s_list, int(*cmp)(const void *, const void *))
 

Macro Definition Documentation

#define SIZE_T_MAX   ((size_t)-1)

Function Documentation

int cclLinkedListAddAt ( ccl_linked_list_t llist,
void *const  data,
const int  idx 
)
int cclLinkedListAddFirst ( ccl_linked_list_t llist,
void *const  data 
)

References cclLinkedListAddAt().

int cclLinkedListAddLast ( ccl_linked_list_t llist,
void *const  data 
)

References cclLinkedListAddAt().

void cclLinkedListClear ( ccl_linked_list_t llist)

Referenced by cclLinkedListDestroy().

void cclLinkedListConcat ( ccl_linked_list_t **  f_list,
ccl_linked_list_t s_list 
)
int cclLinkedListCount ( const ccl_linked_list_t llist)

Referenced by cclLinkedListEmpty().

void cclLinkedListDestroy ( ccl_linked_list_t llist)

References cclLinkedListClear().

int cclLinkedListEmpty ( const ccl_linked_list_t llist)

References cclLinkedListCount().

int cclLinkedListGetAt ( ccl_linked_list_t llist,
const int  idx,
void *const  data 
)
int cclLinkedListGetFirst ( ccl_linked_list_t llist,
void *const  data 
)

References cclLinkedListGetAt().

iter_llist_t* cclLinkedListGetIter ( ccl_linked_list_t llist)
int cclLinkedListGetLast ( ccl_linked_list_t llist,
void *const  data 
)

References cclLinkedListGetAt().

ccl_linked_list_t* cclLinkedListInit ( const size_t  data_size)

References ccl_malloc().

void* cclLinkedListIterData ( iter_llist_t it)
iter_llist_t* cclLinkedListIterNext ( iter_llist_t it)
int cclLinkedListRemoveAt ( ccl_linked_list_t llist,
const int  idx 
)
int cclLinkedListRemoveFirst ( ccl_linked_list_t llist)
int cclLinkedListRemoveLast ( ccl_linked_list_t llist)
int cclLinkedListUpdateAt ( ccl_linked_list_t llist,
const int  idx,
void *const  data 
)
int cclLinkedListUpdateFirst ( ccl_linked_list_t llist,
void *const  data 
)
int cclLinkedListUpdateLast ( ccl_linked_list_t llist,
void *const  data 
)
void cclSortLinkedListAdd ( ccl_linked_list_t llist,
void *  data,
int(*)(const void *, const void *)  cmp 
)

References cclLinkedListAddAt().

void cclSortLinkedListMerge ( ccl_linked_list_t **  f_list,
ccl_linked_list_t s_list,
int(*)(const void *, const void *)  cmp 
)