## EList

EList

## Synopsis

    struct              EList;
    gpointer            (*EListCopyFunc)                    (gconstpointer data,
                                                             gpointer closure);
    void                (*EListFreeFunc)                    (gpointer data,
                                                             gpointer closure);
    EList *		           e_list_new                          (EListCopyFunc copy,
                                                             EListFreeFunc free,
                                                             gpointer closure);
    void                e_list_construct                    (EList *list,
                                                             EListCopyFunc copy,
                                                             EListFreeFunc free,
                                                             gpointer closure);
    EList *		           e_list_duplicate                    (EList *list);
    EIterator *	        e_list_get_iterator                 (EList *list);
    void                e_list_append                       (EList *list,
                                                             gconstpointer data);
    void                e_list_remove                       (EList *list,
                                                             gconstpointer data);
    gint                e_list_length                       (EList *list);
    void                e_list_remove_link                  (EList *list,
                                                             GList *link);
    void                e_list_remove_iterator              (EList *list,
                                                             EIterator *iterator);
    void                e_list_invalidate_iterators         (EList *list,
                                                             EIterator *skip);

## Object Hierarchy

      GObject
       +----EList
             +----EAccountList

## Description

## Details

### struct EList

    struct EList;

### EListCopyFunc ()

    gpointer            (*EListCopyFunc)                    (gconstpointer data,
                                                             gpointer closure);

### EListFreeFunc ()

    void                (*EListFreeFunc)                    (gpointer data,
                                                             gpointer closure);

### e_list_new ()

    EList *		           e_list_new                          (EListCopyFunc copy,
                                                             EListFreeFunc free,
                                                             gpointer closure);

`copy` : | the copy func. [scope call]
`free` : | the free func. [scope call]
`closure` : | user data
Returns : | The new EList. [transfer full]

### e_list_construct ()

    void                e_list_construct                    (EList *list,
                                                             EListCopyFunc copy,
                                                             EListFreeFunc free,
                                                             gpointer closure);

`list` : | The EList.
`copy` : | the copy func. [scope call]
`free` : | the free func. [scope call]
`closure` : | user data

### e_list_duplicate ()

    EList *		           e_list_duplicate                    (EList *list);

Returns : | The duplicated EList. [transfer full]

### e_list_get_iterator ()

    EIterator *	        e_list_get_iterator                 (EList *list);

`list` : | The EList object.
Returns : | the EIterator. [transfer none]

### e_list_append ()

    void                e_list_append                       (EList *list,
                                                             gconstpointer data);

### e_list_remove ()

    void                e_list_remove                       (EList *list,
                                                             gconstpointer data);

### e_list_length ()

    gint                e_list_length                       (EList *list);

### e_list_remove_link ()

    void                e_list_remove_link                  (EList *list,
                                                             GList *link);

### e_list_remove_iterator ()

    void                e_list_remove_iterator              (EList *list,
                                                             EIterator *iterator);

### e_list_invalidate_iterators ()

    void                e_list_invalidate_iterators         (EList *list,
                                                             EIterator *skip);