MicrofeedStore
[libmicrofeed-common - Common modules used both in the publisher and in the subscriber side]

A dynamic sorted or unsorted array. More...

Defines

#define microfeed_store_get(s, k, t)   ((t*)microfeed_store_get_impl(s, k))
#define microfeed_store_get_index(s, i, t)   ((t*)microfeed_store_get_index_impl(s, i))
#define microfeed_store_replace(s, d, t)   ((t*)microfeed_store_replace_impl(s, d))
#define microfeed_store_remove_key(s, k, t)   ((t*)microfeed_store_remove_key_impl(s, k))
#define microfeed_store_remove_index(s, i, t)   ((t*)microfeed_store_remove_index_impl(s, i))
#define microfeed_store_iterator_get(i, t)   ((t*)microfeed_store_iterator_get_impl(i))

Typedefs

typedef struct _MicrofeedStore MicrofeedStore
 Opaque data type representing an array that grows automatically when items are added.
typedef struct
_MicrofeedStoreIterator 
MicrofeedStoreIterator
 Opaque data type representing an array iterator that traverses over the elements of the array.
typedef int(* MicrofeedStoreCompareKeysFunction )(const void *key1, const void *key2)
typedef const void *(* MicrofeedStoreGetKeyFunction )(const void *item)
typedef void(* MicrofeedStoreForeachFunction )(void *data, void *user_data)
typedef int(* MicrofeedStoreCompareDatasFunction )(const void *data1, const void *data2, unsigned int index1, unsigned int index2, void *user_data)
typedef void(* MicrofeedStoreFreeDataFunction )(void *data)

Functions

MicrofeedStoremicrofeed_store_new_sorted (MicrofeedStoreCompareKeysFunction compare_keys, MicrofeedStoreGetKeyFunction get_key)
MicrofeedStoremicrofeed_store_new_unsorted (MicrofeedStoreCompareKeysFunction compare_keys, MicrofeedStoreGetKeyFunction get_key)
void microfeed_store_free (MicrofeedStore *store)
int microfeed_store_is_sorted (MicrofeedStore *store)
void microfeed_store_foreach (MicrofeedStore *store, MicrofeedStoreForeachFunction foreach, void *user_data)
void * microfeed_store_get_impl (MicrofeedStore *store, const void *key)
void * microfeed_store_get_index_impl (MicrofeedStore *store, unsigned int index)
unsigned int microfeed_store_get_size (MicrofeedStore *store)
int microfeed_store_insert (MicrofeedStore *store, void *data)
void * microfeed_store_replace_impl (MicrofeedStore *store, void *data)
int microfeed_store_remove (MicrofeedStore *store, const void *data)
void * microfeed_store_remove_key_impl (MicrofeedStore *store, const void *key)
void * microfeed_store_remove_index_impl (MicrofeedStore *store, unsigned int index)
void microfeed_store_remove_and_free_all (MicrofeedStore *store, MicrofeedStoreFreeDataFunction free_data)
MicrofeedStoreIteratormicrofeed_store_iterate (MicrofeedStore *store, const void *start_key)
void microfeed_store_sort (MicrofeedStore *store, MicrofeedStoreCompareDatasFunction compare_datas, void *user_data)
void microfeed_store_iterator_free (MicrofeedStoreIterator *iterator)
void * microfeed_store_iterator_get_impl (MicrofeedStoreIterator *iterator)
void microfeed_store_iterator_next (MicrofeedStoreIterator *iterator)
int microfeed_store_compare_keys_direct (const void *key1, const void *key2)
const void * microfeed_store_get_key_direct (const void *data)

Detailed Description

A dynamic sorted or unsorted array.

This module can be also utilized outside of the library implementation.


Define Documentation

#define microfeed_store_get ( s,
k,
 )     ((t*)microfeed_store_get_impl(s, k))

#define microfeed_store_get_index ( s,
i,
 )     ((t*)microfeed_store_get_index_impl(s, i))

#define microfeed_store_iterator_get ( i,
 )     ((t*)microfeed_store_iterator_get_impl(i))

#define microfeed_store_remove_index ( s,
i,
 )     ((t*)microfeed_store_remove_index_impl(s, i))

Definition at line 54 of file microfeedstore.h.

#define microfeed_store_remove_key ( s,
k,
 )     ((t*)microfeed_store_remove_key_impl(s, k))

Definition at line 52 of file microfeedstore.h.

#define microfeed_store_replace ( s,
d,
 )     ((t*)microfeed_store_replace_impl(s, d))


Typedef Documentation

Opaque data type representing an array that grows automatically when items are added.

Definition at line 20 of file microfeedstore.h.

typedef int(* MicrofeedStoreCompareDatasFunction)(const void *data1, const void *data2, unsigned int index1, unsigned int index2, void *user_data)

Definition at line 34 of file microfeedstore.h.

typedef int(* MicrofeedStoreCompareKeysFunction)(const void *key1, const void *key2)

Definition at line 31 of file microfeedstore.h.

typedef void(* MicrofeedStoreForeachFunction)(void *data, void *user_data)

Definition at line 33 of file microfeedstore.h.

typedef void(* MicrofeedStoreFreeDataFunction)(void *data)

Definition at line 35 of file microfeedstore.h.

typedef const void*(* MicrofeedStoreGetKeyFunction)(const void *item)

Definition at line 32 of file microfeedstore.h.

Opaque data type representing an array iterator that traverses over the elements of the array.

Definition at line 25 of file microfeedstore.h.


Function Documentation

int microfeed_store_compare_keys_direct ( const void *  key1,
const void *  key2 
)

void microfeed_store_foreach ( MicrofeedStore store,
MicrofeedStoreForeachFunction  foreach,
void *  user_data 
)

Definition at line 69 of file microfeedstore.c.

References _MicrofeedStore::data, and _MicrofeedStore::size.

Referenced by microfeed_json_free().

void microfeed_store_free ( MicrofeedStore store  ) 

void* microfeed_store_get_impl ( MicrofeedStore store,
const void *  key 
)

Definition at line 77 of file microfeedstore.c.

References _MicrofeedStore::data.

void* microfeed_store_get_index_impl ( MicrofeedStore store,
unsigned int  index 
)

Definition at line 88 of file microfeedstore.c.

References _MicrofeedStore::data.

const void* microfeed_store_get_key_direct ( const void *  data  ) 

unsigned int microfeed_store_get_size ( MicrofeedStore store  ) 

int microfeed_store_insert ( MicrofeedStore store,
void *  data 
)

int microfeed_store_is_sorted ( MicrofeedStore store  ) 

MicrofeedStoreIterator* microfeed_store_iterate ( MicrofeedStore store,
const void *  start_key 
)

void microfeed_store_iterator_free ( MicrofeedStoreIterator iterator  ) 

void* microfeed_store_iterator_get_impl ( MicrofeedStoreIterator iterator  ) 

void microfeed_store_iterator_next ( MicrofeedStoreIterator iterator  ) 

MicrofeedStore* microfeed_store_new_sorted ( MicrofeedStoreCompareKeysFunction  compare_keys,
MicrofeedStoreGetKeyFunction  get_key 
)

MicrofeedStore* microfeed_store_new_unsorted ( MicrofeedStoreCompareKeysFunction  compare_keys,
MicrofeedStoreGetKeyFunction  get_key 
)

int microfeed_store_remove ( MicrofeedStore store,
const void *  data 
)

void microfeed_store_remove_and_free_all ( MicrofeedStore store,
MicrofeedStoreFreeDataFunction  free_data 
)

void* microfeed_store_remove_index_impl ( MicrofeedStore store,
unsigned int  index 
)

void* microfeed_store_remove_key_impl ( MicrofeedStore store,
const void *  key 
)

void* microfeed_store_replace_impl ( MicrofeedStore store,
void *  data 
)

void microfeed_store_sort ( MicrofeedStore store,
MicrofeedStoreCompareDatasFunction  compare_datas,
void *  user_data 
)


Generated on Fri Jun 26 21:48:57 2009 for Microfeed by  doxygen 1.5.6