MicrofeedStore

This module implementing a dynamic array is used internally in the library, but can be also utilized outside of the library implementation. 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_index_impl(s, i))
#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 sorted array that grows automatically when items are added.
typedef struct
_MicrofeedStoreIterator 
MicrofeedStoreIterator
 Opaque data type representing sorted 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)

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)
void microfeed_store_foreach (MicrofeedStore *store, MicrofeedStoreForeachFunction foreach, void *user_data)
void * microfeed_store_get_impl (MicrofeedStore *store, const void *key)
void * microfeed_store_index_impl (MicrofeedStore *store, unsigned int index)
unsigned int microfeed_store_get_size (MicrofeedStore *store)
void microfeed_store_insert (MicrofeedStore *store, void *data)
void * microfeed_store_replace (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)
MicrofeedStoreIteratormicrofeed_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)
int microfeed_store_compare_keys_direct (const void *key1, const void *key2)
const void * microfeed_store_get_key_direct (const void *data)

Detailed Description

This module implementing a dynamic array is used internally in the library, but can be also utilized outside of the library implementation.

A store can be either sorted or unsorted.


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_index_impl(s, i))

Definition at line 41 of file microfeedstore.h.

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

Definition at line 55 of file microfeedstore.h.

Referenced by microfeed_publisher_remove_subscriber().

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

Definition at line 49 of file microfeedstore.h.

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

Definition at line 47 of file microfeedstore.h.


Typedef Documentation

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

Definition at line 19 of file microfeedstore.h.

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

Definition at line 30 of file microfeedstore.h.

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

Definition at line 32 of file microfeedstore.h.

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

Definition at line 31 of file microfeedstore.h.

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

Definition at line 24 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 63 of file microfeedstore.c.

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

void microfeed_store_free ( MicrofeedStore store  ) 

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

Definition at line 71 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  ) 

void* microfeed_store_index_impl ( MicrofeedStore store,
unsigned int  index 
)

void microfeed_store_insert ( MicrofeedStore store,
void *  data 
)

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_index_impl ( MicrofeedStore store,
unsigned int  index 
)

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

void* microfeed_store_replace ( MicrofeedStore store,
void *  data 
)


Generated on Sat Feb 28 23:19:16 2009 for Microfeed by  doxygen 1.5.6