fm-list

fm-list

Synopsis

#define             FM_LIST                             (list)
struct              FmList;
struct              FmListFuncs;
void                fm_list_clear                       (gpointer list);
void                fm_list_delete_link                 (gpointer list,
                                                         gpointer l_);
#define             fm_list_delete_link_nounref         (list,
                                                         l_)
#define             fm_list_find                        (list,
                                                         d)
#define             fm_list_find_custom                 (list,
                                                         d,
                                                         f)
#define             fm_list_foreach                     (list,
                                                         f,
                                                         d)
#define             fm_list_get_length                  (list)
#define             fm_list_index                       (list,
                                                         d)
#define             fm_list_insert_after                (list,
                                                         s,
                                                         d)
#define             fm_list_insert_after_noref          (list,
                                                         s,
                                                         d)
#define             fm_list_insert_before               (list,
                                                         s,
                                                         d)
#define             fm_list_insert_before_noref         (list,
                                                         s,
                                                         d)
#define             fm_list_insert_sorted               (list,
                                                         d,
                                                         f,
                                                         u)
#define             fm_list_insert_sorted_noref         (list,
                                                         d,
                                                         f,
                                                         u)
#define             fm_list_is_empty                    (list)
#define             fm_list_link_index                  (list,
                                                         l_)
FmList *            fm_list_new                         (FmListFuncs *funcs);
#define             fm_list_peek_head                   (list)
#define             fm_list_peek_head_link              (list)
#define             fm_list_peek_nth                    (list,
                                                         n)
#define             fm_list_peek_nth_link               (list,
                                                         n)
#define             fm_list_peek_tail                   (list)
#define             fm_list_peek_tail_link              (list)
#define             fm_list_pop_head                    (list)
#define             fm_list_pop_head_link               (list)
#define             fm_list_pop_nth                     (list,
                                                         n)
#define             fm_list_pop_nth_link                (list,
                                                         n)
#define             fm_list_pop_tail                    (list)
#define             fm_list_pop_tail_link               (list)
#define             fm_list_push_head                   (list,
                                                         d)
#define             fm_list_push_head_link              (list,
                                                         l_)
#define             fm_list_push_head_noref             (list,
                                                         d)
#define             fm_list_push_nth                    (list,
                                                         d,
                                                         n)
#define             fm_list_push_nth_link               (list,
                                                         n,
                                                         l_)
#define             fm_list_push_nth_noref              (list,
                                                         d,
                                                         n)
#define             fm_list_push_tail                   (list,
                                                         d)
#define             fm_list_push_tail_link              (list,
                                                         l_)
#define             fm_list_push_tail_noref             (list,
                                                         d)
FmList *            fm_list_ref                         (gpointer list);
void                fm_list_remove                      (gpointer list,
                                                         gpointer data);
void                fm_list_remove_all                  (gpointer list,
                                                         gpointer data);
#define             fm_list_reverse                     (list)
#define             fm_list_sort                        (list,
                                                         f,
                                                         d)
#define             fm_list_unlink                      (list,
                                                         l_)
void                fm_list_unref                       (gpointer list);

Description

Details

FM_LIST()

#define FM_LIST(list) ((FmList*)list)

struct FmList

struct FmList {
	GQueue list;
	FmListFuncs* funcs;
	gint n_ref;
};

struct FmListFuncs

struct FmListFuncs {
	gpointer (*item_ref)(gpointer item);
	void (*item_unref)(gpointer item);
};

fm_list_clear ()

void                fm_list_clear                       (gpointer list);

fm_list_delete_link ()

void                fm_list_delete_link                 (gpointer list,
                                                         gpointer l_);

fm_list_delete_link_nounref()

#define fm_list_delete_link_nounref(list, l_)    g_queue_delete_link((GQueue*)list,l_)

fm_list_find()

#define fm_list_find(list,d)				g_queue_find((GQueue*)list,d)

fm_list_find_custom()

#define fm_list_find_custom(list,d,f)		g_queue_find_custom((GQueue*)list,d,f)

fm_list_foreach()

#define fm_list_foreach(list,f,d)			g_queue_foreach((GQueue*)list,f,d)

fm_list_get_length()

#define fm_list_get_length(list)			g_queue_get_length((GQueue*)list)

fm_list_index()

#define fm_list_index(list,d)				g_queue_index((GQueue*)list,d)

fm_list_insert_after()

#define fm_list_insert_after(list,s,d)		g_queue_insert_after((GQueue*)list,s,list->funcs->item_ref(d))

fm_list_insert_after_noref()

#define fm_list_insert_after_noref(list,s,d)		g_queue_insert_after((GQueue*)list,s,d)

fm_list_insert_before()

#define fm_list_insert_before(list,s,d) g_queue_insert_before((GQueue*)list,s,list->funcs->item_ref(d))

fm_list_insert_before_noref()

#define fm_list_insert_before_noref(list,s,d) g_queue_insert_before((GQueue*)list,s,d)

fm_list_insert_sorted()

#define fm_list_insert_sorted(list,d,f,u) g_queue_insert_sorted((GQueue*)list,list->funcs->item_ref(d),f,u)

fm_list_insert_sorted_noref()

#define fm_list_insert_sorted_noref(list,d,f,u) g_queue_insert_sorted((GQueue*)list,d,f,u)

fm_list_is_empty()

#define fm_list_is_empty(list)				g_queue_is_empty((GQueue*)list)

fm_list_link_index()

#define fm_list_link_index(list,l_)		g_queue_index((GQueue*)list,l_)

fm_list_new ()

FmList *            fm_list_new                         (FmListFuncs *funcs);

fm_list_peek_head()

#define fm_list_peek_head(list)			g_queue_peek_head((GQueue*)list)

fm_list_peek_head_link()

#define fm_list_peek_head_link(list)		g_queue_peek_head_link((GQueue*)list)

fm_list_peek_nth()

#define fm_list_peek_nth(list,n)			g_queue_peek_nth((GQueue*)list,n)

fm_list_peek_nth_link()

#define fm_list_peek_nth_link(list,n)		g_queue_peek_nth_link((GQueue*)list,n)

fm_list_peek_tail()

#define fm_list_peek_tail(list)			g_queue_peek_tail((GQueue*)list)

fm_list_peek_tail_link()

#define fm_list_peek_tail_link(list)		g_queue_peek_tail_link((GQueue*)list)

fm_list_pop_head()

#define fm_list_pop_head(list)				g_queue_pop_head((GQueue*)list)

fm_list_pop_head_link()

#define fm_list_pop_head_link(list)		g_queue_pop((GQueue*)list)

fm_list_pop_nth()

#define fm_list_pop_nth(list,n)			g_queue_pop_nth((GQueue*)list,n)

fm_list_pop_nth_link()

#define fm_list_pop_nth_link(list,n)		g_queue_pop_nth_link((GQueue*)list,n)

fm_list_pop_tail()

#define fm_list_pop_tail(list)				g_queue_pop_tail((GQueue*)list)

fm_list_pop_tail_link()

#define fm_list_pop_tail_link(list)		g_queue_pop_tail_link((GQueue*)list)

fm_list_push_head()

#define fm_list_push_head(list,d)			g_queue_push_head((GQueue*)list,list->funcs->item_ref(d))

fm_list_push_head_link()

#define fm_list_push_head_link(list,l_) g_queue_push_head_link((GQueue*)list,l_)

fm_list_push_head_noref()

#define fm_list_push_head_noref(list,d)			g_queue_push_head((GQueue*)list,d)

fm_list_push_nth()

#define fm_list_push_nth(list,d,n)			g_queue_push_nth((GQueue*)list,list->funcs->item_ref(d),n)

fm_list_push_nth_link()

#define fm_list_push_nth_link(list,n,l_) g_queue_push_nth_link((GQueue*)list,n,l_)

fm_list_push_nth_noref()

#define fm_list_push_nth_noref(list,d,n)			g_queue_push_nth((GQueue*)list,d,n)

fm_list_push_tail()

#define fm_list_push_tail(list,d)			g_queue_push_tail((GQueue*)list,list->funcs->item_ref(d))

fm_list_push_tail_link()

#define fm_list_push_tail_link(list,l_) g_queue_push_tail_link((GQueue*)list,l_)

fm_list_push_tail_noref()

#define fm_list_push_tail_noref(list,d)			g_queue_push_tail((GQueue*)list,d)

fm_list_ref ()

FmList *            fm_list_ref                         (gpointer list);

fm_list_remove ()

void                fm_list_remove                      (gpointer list,
                                                         gpointer data);

fm_list_remove_all ()

void                fm_list_remove_all                  (gpointer list,
                                                         gpointer data);

fm_list_reverse()

#define fm_list_reverse(list)				g_queue_reverse((GQueue*)list)

fm_list_sort()

#define fm_list_sort(list,f,d)				g_queue_sort((GQueue*)list,f,d)

fm_list_unlink()

#define fm_list_unlink(list,l_)			g_queue_unlink((GQueue*)list,l_)

fm_list_unref ()

void                fm_list_unref                       (gpointer list);