### Enumeration

# Vips ArgumentFlags

#### Declaration

    flags Vips.ArgumentFlags

#### Description [src]

Flags we associate with each object argument.

Have separate input & output flags. Both set is an error; neither set is OK.

Input gobjects are automatically reffed, output gobjects automatically ref us. We also automatically watch for “destroy” and unlink.

`VIPS_ARGUMENT_SET_ALWAYS` is handy for arguments which are set from C. For example, `VipsImage:width` is a property that gives access to the Xsize member of struct _VipsImage. We default its ‘assigned’ to `TRUE` since the field is always set directly by C.

`VIPS_ARGUMENT_DEPRECATED` arguments are not shown in help text, are not looked for if required, are not checked for “have-been-set”. You can deprecate a required argument, but you must obviously add a new required argument if you do.

Input args with `VIPS_ARGUMENT_MODIFY` will be modified by the operation. This is used for things like the in-place drawing operations.

`VIPS_ARGUMENT_NON_HASHABLE` stops the argument being used in hash and equality tests. It’s useful for arguments like `revalidate` which control the behaviour of the operator cache.

#### Members

`VIPS_ARGUMENT_NONE`

  No flags.

  - Value: `0`
  - Available since: 8.0
`VIPS_ARGUMENT_REQUIRED`

  Must be set in the constructor.

  - Value: `1`
  - Available since: 8.0
`VIPS_ARGUMENT_CONSTRUCT`

  Can only be set in the constructor.

  - Value: `2`
  - Available since: 8.0
`VIPS_ARGUMENT_SET_ONCE`

  Can only be set once.

  - Value: `4`
  - Available since: 8.0
`VIPS_ARGUMENT_SET_ALWAYS`

  Don’t do use-before-set checks.

  - Value: `8`
  - Available since: 8.0
`VIPS_ARGUMENT_INPUT`

  Is an input argument (one we depend on).

  - Value: `16`
  - Available since: 8.0
`VIPS_ARGUMENT_OUTPUT`

  Is an output argument (depends on us).

  - Value: `32`
  - Available since: 8.0
`VIPS_ARGUMENT_DEPRECATED`

  Just there for back-compat, hide.

  - Value: `64`
  - Available since: 8.0
`VIPS_ARGUMENT_MODIFY`

  The input argument will be modified.

  - Value: `128`
  - Available since: 8.0
`VIPS_ARGUMENT_NON_HASHABLE`

  The argument is non-hashable.

  - Value: `256`
  - Available since: 8.0