## IpatchList

IpatchList — An object containing a list of object pointers

## Stability Level

Stable, unless otherwise indicated

## Synopsis

                        IpatchList;
    IpatchList *        ipatch_list_new                     (void);
    IpatchList *        ipatch_list_duplicate               (IpatchList *list);
    void                ipatch_list_init_iter               (IpatchList *list,
                                                             IpatchIter *iter);

## Object Hierarchy

      GObject
       +----IpatchList

## Description

An object which defines a list of object pointers. A GObject reference is held to all objects until the IpatchList itself is released.

## Details

### IpatchList

    typedef struct {
      GList *items;			/* list of GObject items */
    } IpatchList;

### ipatch_list_new ()

    IpatchList *        ipatch_list_new                     (void);

Create a new object list object. IpatchList objects are often used to duplicate multi-thread sensitive object lists, so they can be iterated over at one's own leasure.

Returns : | New object list container object.

### ipatch_list_duplicate ()

    IpatchList *        ipatch_list_duplicate               (IpatchList *list);

Duplicate an object list.

`list` : | Object list to duplicate
Returns : | New duplicate object list with a ref count of one which the caller owns.

### ipatch_list_init_iter ()

    void                ipatch_list_init_iter               (IpatchList *list,
                                                             IpatchIter *iter);

Initializes a user supplied iterator (usually stack allocated) to iterate over the object `list`. Further operations on `iter` will use the `list`.

`list` : | List object
`iter` : | Iterator to initialize