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 a local clone.


Compiler implementation of the D programming language.

Source: arrayop.d

FuncDeclaration buildArrayOp(Identifier ident, BinExp exp, Scope* sc, Loc loc);
Structure to contain information needed to insert an array op call
bool isArrayOpValid(Expression e);
Check that there are no uses of arrays without [].
Expression arrayOp(BinExp e, Scope* sc);
Construct the array operation expression.
void buildArrayIdent(Expression e, OutBuffer* buf, Expressions* arguments);
Construct the identifier for the array operation function, and build the argument list to pass to it.
Expression buildArrayLoop(Expression e, Parameters* fparams);
Construct the inner loop for the array operation function, and build the parameter list.
bool isUnaArrayOp(TOK op);
Test if expression is a unary array op.
bool isBinArrayOp(TOK op);
Test if expression is a binary array op.
bool isBinAssignArrayOp(TOK op);
Test if expression is a binary assignment array op.
bool isArrayOpOperand(Expression e);
Test if operand is a valid array op operand.