### Function

# Vips class_map_all

#### Declaration [src]

    void*
    vips_class_map_all (
      GType type,
      VipsClassMapFn fn,
      void* a
    )

#### Description [src]

Loop over all the subclasses of `type`. Non-abstract classes only. Stop when `fn` returns non-`NULL` and return that value.

This function is not directly available to language bindings.

#### Parameters

`type`

  Type: `GType`

  Base type.

`fn`

  Type: `VipsClassMapFn`

  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.

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