## fm-list fm-list |

## Synopsis

    #define             FM_LIST                             (list)
    struct              FmList;
    struct              FmListFuncs;
    void                fm_list_clear                       (FmList *list);
    void                fm_list_delete_link                 (FmList *list,
                                                             GList *l_);
    FmList *            fm_list_new                         (FmListFuncs *funcs);
    FmList *            fm_list_ref                         (FmList *list);
    void                fm_list_remove                      (FmList *list,
                                                             gpointer data);
    void                fm_list_remove_all                  (FmList *list,
                                                             gpointer data);
    void                fm_list_unref                       (FmList *list);

## Description

## Details

### FM_LIST()

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

### struct FmList

    struct FmList {
    };

### struct FmListFuncs

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

`item_ref` () | function to increase reference counter on item
`item_unref` () | function to decrease reference counter on item

### fm_list_clear ()

    void                fm_list_clear                       (FmList *list);

### fm_list_delete_link ()

    void                fm_list_delete_link                 (FmList *list,
                                                             GList *l_);

### fm_list_new ()

    FmList *            fm_list_new                         (FmListFuncs *funcs);

### fm_list_ref ()

    FmList *            fm_list_ref                         (FmList *list);

### fm_list_remove ()

    void                fm_list_remove                      (FmList *list,
                                                             gpointer data);

### fm_list_remove_all ()

    void                fm_list_remove_all                  (FmList *list,
                                                             gpointer data);

### fm_list_unref ()

    void                fm_list_unref                       (FmList *list);