tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
list.c File Reference
#include <stdlib.h>
#include <assert.h>
#include "list.h"
#include "types.h"
#include "tm.h"
Include dependency graph for list.c:

Functions

static TM_CALLABLE list_node_tTMfindPrevious (TM_ARGDECL list_t *listPtr, void *dataPtr)
 
static TM_CALLABLE void TMfreeList (TM_ARGDECL list_node_t *nodePtr)
 
static long compareDataPtrAddresses (const void *a, const void *b)
 
static TM_CALLABLE long TMcompareDataPtrAddresses (TM_ARGDECL const void *a, const void *b)
 
void list_iter_reset (list_iter_t *itPtr, list_t *listPtr)
 
void TMlist_iter_reset (TM_ARGDECL list_iter_t *itPtr, list_t *listPtr)
 
bool_t list_iter_hasNext (list_iter_t *itPtr, list_t *listPtr)
 
bool_t TMlist_iter_hasNext (TM_ARGDECL list_iter_t *itPtr, list_t *listPtr)
 
void * list_iter_next (list_iter_t *itPtr, list_t *listPtr)
 
void * TMlist_iter_next (TM_ARGDECL list_iter_t *itPtr, list_t *listPtr)
 
static list_node_tallocNode (void *dataPtr)
 
static list_node_tPallocNode (void *dataPtr)
 
static TM_CALLABLE list_node_tTMallocNode (TM_ARGDECL void *dataPtr)
 
list_tTMlist_alloc (TM_ARGDECL comparator_t *comp)
 
list_tPlist_alloc (comparator_t *comp)
 
list_tlist_alloc (comparator_t *comp)
 
static void freeNode (list_node_t *nodePtr)
 
static void PfreeNode (list_node_t *nodePtr)
 
static TM_CALLABLE void TMfreeNode (TM_ARGDECL list_node_t *nodePtr)
 
static void freeList (list_node_t *nodePtr)
 
static void PfreeList (list_node_t *nodePtr)
 
void list_free (list_t *listPtr)
 
void Plist_free (list_t *listPtr)
 
void TMlist_free (TM_ARGDECL list_t *listPtr)
 
bool_t list_isEmpty (list_t *listPtr)
 
bool_t TMlist_isEmpty (TM_ARGDECL list_t *listPtr)
 
long list_getSize (list_t *listPtr)
 
long TMlist_getSize (TM_ARGDECL list_t *listPtr)
 
static list_node_tfindPrevious (list_t *listPtr, void *dataPtr)
 
void * list_find (list_t *listPtr, void *dataPtr)
 
void * TMlist_find (TM_ARGDECL list_t *listPtr, void *dataPtr)
 
bool_t list_insert (list_t *listPtr, void *dataPtr)
 
bool_t Plist_insert (list_t *listPtr, void *dataPtr)
 
bool_t TMlist_insert (TM_ARGDECL list_t *listPtr, void *dataPtr)
 
bool_t list_remove (list_t *listPtr, void *dataPtr)
 
bool_t Plist_remove (list_t *listPtr, void *dataPtr)
 
bool_t TMlist_remove (TM_ARGDECL list_t *listPtr, void *dataPtr)
 
void TMlist_clear (TM_ARGDECL list_t *listPtr)
 
void Plist_clear (list_t *listPtr)
 

Variables

comparator_t
default_list_comparator & 
compareDataPtrAddresses
 

Function Documentation

static list_node_t* allocNode ( void *  dataPtr)
static

Here is the caller graph for this function:

static long compareDataPtrAddresses ( const void *  a,
const void *  b 
)
static
static list_node_t* findPrevious ( list_t listPtr,
void *  dataPtr 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void freeList ( list_node_t nodePtr)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void freeNode ( list_node_t nodePtr)
static

Here is the caller graph for this function:

list_t* list_alloc ( comparator_t comp)

Here is the caller graph for this function:

void* list_find ( list_t listPtr,
void *  dataPtr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void list_free ( list_t listPtr)

Here is the call graph for this function:

Here is the caller graph for this function:

long list_getSize ( list_t listPtr)

Here is the caller graph for this function:

bool_t list_insert ( list_t listPtr,
void *  dataPtr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

bool_t list_isEmpty ( list_t listPtr)

Here is the caller graph for this function:

bool_t list_iter_hasNext ( list_iter_t itPtr,
list_t listPtr 
)

Here is the caller graph for this function:

void* list_iter_next ( list_iter_t itPtr,
list_t listPtr 
)

Here is the caller graph for this function:

void list_iter_reset ( list_iter_t itPtr,
list_t listPtr 
)

Here is the caller graph for this function:

bool_t list_remove ( list_t listPtr,
void *  dataPtr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static list_node_t* PallocNode ( void *  dataPtr)
static

Here is the caller graph for this function:

static void PfreeList ( list_node_t nodePtr)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void PfreeNode ( list_node_t nodePtr)
static

Here is the caller graph for this function:

list_t* Plist_alloc ( comparator_t comp)

Here is the caller graph for this function:

void Plist_clear ( list_t listPtr)

Here is the call graph for this function:

void Plist_free ( list_t listPtr)

Here is the call graph for this function:

Here is the caller graph for this function:

bool_t Plist_insert ( list_t listPtr,
void *  dataPtr 
)

Here is the call graph for this function:

bool_t Plist_remove ( list_t listPtr,
void *  dataPtr 
)

Here is the call graph for this function:

static TM_CALLABLE list_node_t* TMallocNode ( TM_ARGDECL void *  dataPtr)
static

Here is the caller graph for this function:

static TM_CALLABLE long TMcompareDataPtrAddresses ( TM_ARGDECL const void *  a,
const void *  b 
)
static
static list_node_t * TMfindPrevious ( TM_ARGDECL list_t listPtr,
void *  dataPtr 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void TMfreeList ( TM_ARGDECL list_node_t nodePtr)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static TM_CALLABLE void TMfreeNode ( TM_ARGDECL list_node_t nodePtr)
static

Here is the caller graph for this function:

list_t* TMlist_alloc ( TM_ARGDECL comparator_t comp)

Here is the caller graph for this function:

void TMlist_clear ( TM_ARGDECL list_t listPtr)

Here is the call graph for this function:

void* TMlist_find ( TM_ARGDECL list_t listPtr,
void *  dataPtr 
)

Here is the call graph for this function:

void TMlist_free ( TM_ARGDECL list_t listPtr)

Here is the call graph for this function:

long TMlist_getSize ( TM_ARGDECL list_t listPtr)
bool_t TMlist_insert ( TM_ARGDECL list_t listPtr,
void *  dataPtr 
)

Here is the call graph for this function:

bool_t TMlist_isEmpty ( TM_ARGDECL list_t listPtr)
bool_t TMlist_iter_hasNext ( TM_ARGDECL list_iter_t itPtr,
list_t listPtr 
)
void* TMlist_iter_next ( TM_ARGDECL list_iter_t itPtr,
list_t listPtr 
)
void TMlist_iter_reset ( TM_ARGDECL list_iter_t itPtr,
list_t listPtr 
)
bool_t TMlist_remove ( TM_ARGDECL list_t listPtr,
void *  dataPtr 
)

Here is the call graph for this function:

Variable Documentation

comparator_t default_list_comparator& compareDataPtrAddresses