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.
ddmd.opover
Compiler implementation of the
D programming language.
Authors:
License:
Source: opover.d
- bool
isCommutative
(TOKop
); - Determine if operands of binary
op
can be reversed to fit operator overload. - static Identifier
opId
(Expressione
); - Get Identifier for operator overload.
- static Identifier
opId_r
(Expressione
); - Get Identifier for reverse operator overload, NULL if not supported for this operator.
- AggregateDeclaration
isAggregate
(Typet
); - If type is a class or struct, return the symbol for it, else NULL
- Objects*
opToArg
(Scope*sc
, TOKop
); - Helper function to turn operator into template argument list
- Expression
op_overload
(Expressione
, Scope*sc
); - Operator overload. Check for operator overload, if so, replace with function call. Return NULL if not an operator overload.
- Expression
compare_overload
(BinExpe
, Scope*sc
, Identifierid
); - Common code for overloading of EqualExp and CmpExp
- Expression
build_overload
(Locloc
, Scope*sc
, Expressionethis
, Expressionearg
, Dsymbold
); - Utility to build a function call out of this reference and argument.
- Dsymbol
search_function
(ScopeDsymbolad
, Identifierfuncid
); - Search for function
funcid
in aggregatead
. - bool
inferApplyArgTypes
(ForeachStatementfes
, Scope*sc
, ref Dsymbolsapply
); - Given array of parameters and an aggregate type, if any of the parameter types are missing, attempt to infer them from the aggregate type.
- static int
inferApplyArgTypesY
(TypeFunctiontf
, Parameters*parameters
, intflags
= 0); - Infer
parameters
from type of function.Returns:1 match for this function 0 no match for this function
Copyright © 1999-2017 by the D Language Foundation | Page generated by
Ddoc on Wed Jul 19 22:16:46 2017