### Function

# Vips cache_operation_buildp

#### Declaration [src]

    int
    vips_cache_operation_buildp (
      VipsOperation** operation
    )

#### Description [src]

Look up `operation` in the cache. If we get a hit, unref `operation`, ref the old one and return that through the argument pointer.

If we miss, build and add `operation`.

Operators that have been tagged as invalid by `VipsImage::invalidate` are removed from cache.

Operators with the `VIPS_OPERATION_BLOCKED` flag are never executed.

Operators with the `VIPS_OPERATION_REVALIDATE` flag are always executed and any old cache value is replaced.

Operators with the `VIPS_OPERATION_NOCACHE` flag are never cached.

This function is not directly available to language bindings.

#### Parameters

`operation`

  Type: `VipsOperation`

  Pointer to operation to lookup.

  The data is owned by the caller of the function.

#### Return value

Type: `int`

0 on success, or -1 on error.