# dmd.apply

A depth-first visitor for expressions.

#### Authors

Walter Bright

#### License

Boost License 1.0

Source: apply.d

Documentation: https://dlang.org/phobos/dmd_apply.html

Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/apply.d

- `apply`

  #### Declaration

  `int `apply`(FP, Params...)(Dsymbol `symbol`, FP `fp`, Params `params`);`

  Iterate this dsymbol or members of this scoped dsymbol, then call ``fp`` with the found `symbol` and ``params``.

  #### Parameters

  `Dsymbol `symbol`` | the dsymbol or parent of members to call `fp` on
  `FP `fp`` | function pointer to process the iterated `symbol`. If it returns nonzero, the iteration will be aborted.
  `Params `params`` | any parameters passed to `fp`.

  #### Return Value

  nonzero if the iteration is aborted by the return value of `fp`, or 0 if it's completed.