View source code
Display the source code in dmd/dsymbol.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Function dmd.dsymbol.ScopeDsymbol._foreach

Expands attribute declarations in members in depth first order. Calls dg(size_t symidx, Dsymbol *sym) for each member. If dg returns !=0, stops and returns that value else returns 0. Use this function to avoid the O(N + N^2/2) complexity of calculating dim and calling N times getNth.

static int _foreach (
  dmd.dscope.Scope* sc,
  dmd.root.array.Array!(dmd.dsymbol.Dsymbol)* members,
  scope int delegate(ulong, Dsymbol) dg,
  ulong* pn = null


last value returned by dg()


Walter Bright


Boost License 1.0