libkcal

pvl.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


Classes

struct  pvl_elem_t
 This type is private. More...

Typedefs

typedef void(* pvl_applyf )(void *a, void *b)
typedef int(* pvl_comparef )(void *a, void *b)
typedef struct pvl_elem_tpvl_elem
typedef int(* pvl_findf )(void *a, void *b)
typedef struct pvl_list_t * pvl_list

Functions

void pvl_apply (pvl_list l, pvl_applyf f, void *v)
void pvl_clear (pvl_list)
int pvl_count (pvl_list)
void * pvl_data (pvl_elem)
pvl_elem pvl_find (pvl_list l, pvl_findf f, void *v)
pvl_elem pvl_find_next (pvl_list l, pvl_findf f, void *v)
void pvl_free (pvl_list)
pvl_elem pvl_head (pvl_list)
void pvl_insert_after (pvl_list l, pvl_elem e, void *d)
void pvl_insert_before (pvl_list l, pvl_elem e, void *d)
void pvl_insert_ordered (pvl_list l, pvl_comparef f, void *d)
pvl_elem pvl_new_element (void *d, pvl_elem next, pvl_elem prior)
pvl_list pvl_newlist (void)
pvl_elem pvl_next (pvl_elem e)
void * pvl_pop (pvl_list l)
pvl_elem pvl_prior (pvl_elem e)
void pvl_push (pvl_list l, void *d)
void * pvl_remove (pvl_list, pvl_elem)
void * pvl_shift (pvl_list l)
pvl_elem pvl_tail (pvl_list)
void pvl_unshift (pvl_list l, void *d)

Variables

int pvl_elem_count
int pvl_list_count

Typedef Documentation

typedef void(* pvl_applyf)(void *a, void *b)

Pass each element in the list to a function a is list elem, b is other data.

Definition at line 89 of file pvl.h.

typedef int(* pvl_comparef)(void *a, void *b)

Definition at line 57 of file pvl.h.

typedef struct pvl_elem_t* pvl_elem

Definition at line 15 of file pvl.h.

typedef int(* pvl_findf)(void *a, void *b)

Definition at line 81 of file pvl.h.

typedef struct pvl_list_t* pvl_list

Definition at line 14 of file pvl.h.


Function Documentation

void pvl_apply ( pvl_list  l,
pvl_applyf  f,
void *  v 
)

void pvl_clear ( pvl_list   ) 

int pvl_count ( pvl_list   ) 

void* pvl_data ( pvl_elem   ) 

pvl_elem pvl_find ( pvl_list  l,
pvl_findf  f,
void *  v 
)

pvl_elem pvl_find_next ( pvl_list  l,
pvl_findf  f,
void *  v 
)

void pvl_free ( pvl_list   ) 

pvl_elem pvl_head ( pvl_list   ) 

void pvl_insert_after ( pvl_list  l,
pvl_elem  e,
void *  d 
)

void pvl_insert_before ( pvl_list  l,
pvl_elem  e,
void *  d 
)

void pvl_insert_ordered ( pvl_list  l,
pvl_comparef  f,
void *  d 
)

pvl_elem pvl_new_element ( void *  d,
pvl_elem  next,
pvl_elem  prior 
)

pvl_list pvl_newlist ( void   ) 

pvl_elem pvl_next ( pvl_elem  e  ) 

void* pvl_pop ( pvl_list  l  ) 

pvl_elem pvl_prior ( pvl_elem  e  ) 

void pvl_push ( pvl_list  l,
void *  d 
)

void* pvl_remove ( pvl_list  ,
pvl_elem   
)

void* pvl_shift ( pvl_list  l  ) 

pvl_elem pvl_tail ( pvl_list   ) 

void pvl_unshift ( pvl_list  l,
void *  d 
)


Variable Documentation

This global is incremented for each call to pvl_new_element(); it gives each list a unique identifer.