Vips.slist_fold2
Description: Reference for Vips.slist_fold2

### Function

# Vipsslist_fold2

#### Declaration [src]

    void*
    vips_slist_fold2 (
      GSList* list,
      void* start,
      VipsSListFold2Fn fn,
      void* a,
      void* b
    )

#### Description [src]

Fold over a slist, applying `fn` to each element.

#### Parameters

`list`

  Type: A list of `guint8`

  A `GSList`.

  The data is owned by the caller of the function.

`start`

  Type: `void*`

  Initial value for the accumulator.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`fn`

  Type: `VipsSListFold2Fn`

  Function to apply to each list element.

`a`

  Type: `void*`

  User data.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`b`

  Type: `void*`

  User data.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

#### Return value

Type: `void*`

`NULL` if `fn` returns `NULL` for all arguments, otherwise the first non-`NULL` value from `fn`.

The data is owned by the called function.
The return value can be `NULL`.