View source code
Display the source code in dmd/opover.d from which thispage was generated on github.
Report a bug
If you spot a problem with this page, click here to create aBugzilla 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 usinglocal clone.
Module dmd.opover
Handles operator overloading.
Specification
Documentation
https://dlang.org/phobos/dmd_opover.html
Coverage
https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/opover.d
Functions
Name | Description |
---|---|
build_overload(loc, sc, ethis, earg, d)
|
Utility to build a function call out of this reference and argument. |
inferApplyArgTypes(fes, sc, sapply)
|
Given array of foreach parameters and an aggregate type, find best opApply overload, if any of the parameter types are missing, attempt to infer them from the aggregate type. |
inferForeachAggregate(sc, isForeach, feaggr, sapply)
|
Figure out what is being foreach'd over by looking at the ForeachAggregate. |
isCommutative(op)
|
Determine if operands of binary op can be reversed to fit operator overload. |
opOverloadBinaryAssign(e, sc, aliasThisStop)
|
Operator overloading for op= |
opOverloadCast(e, sc, att)
|
This is mostly the same as opOverloadUnary but has a different rewrite. |
opToArg(sc, op)
|
Helper function to turn operator into template argument list |
search_function(ad, funcid)
|
Search for function funcid in aggregate ad. |
suggestBinaryOverloads(e, sc)
|
If applicable, print an error relating to implementing / fixing opBinary functions.
|
suggestOpOpAssign(exp, sc, parent)
|
If applicable, print an error relating to implementing / fixing opOpAssign or opUnary functions.
|
Authors
License
Copyright © 1999-2025 by the D Language Foundation | Page generated by ddox.