### Function

# Vips type_map

#### Declaration [src]

    void*
    vips_type_map (
      GType base,
      VipsTypeMap2Fn fn,
      void* a,
      void* b
    )

#### Description [src]

Map over a type’s children. Stop when `fn` returns non-`NULL` and return that value.

This function is not directly available to language bindings.

#### Parameters

`base`

  Type: `GType`

  Base type.

`fn`

  Type: `VipsTypeMap2Fn`

  Call this function for every type.

`a`

  Type: `void*`

  Client data.

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

`b`

  Type: `void*`

  Client 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`.