I1 - type of first inputI2 - type of second inputO - type of outputpublic interface BinaryInplace1Op<I1,I2,O extends I1> extends BinaryOp<I1,I2,O>, UnaryInplaceOp<I1,O>
It is a less powerful version of BinaryInplaceOp, which can mutate
either of its inputs.
Note that the <I1> and <O> type parameters are kept distinct
for special hybrid ops, which may allow inplace mutation without
requiring it; see e.g. BinaryHybridCFI1.
BinaryComputerOp,
BinaryFunctionOpSpecialOp.Flavor| Modifier and Type | Method and Description |
|---|---|
default BinaryInplace1Op<I1,I2,O> |
getIndependentInstance()
Gets a reference to an instance of this object which can be used
simultaneously from a second thread while this instance is being used from
"its" thread.
|
default I1 |
in() |
default I1 |
in1() |
default void |
mutate(O arg)
Mutates the given input argument in-place.
|
void |
mutate1(O arg,
I2 in)
Mutates the first argument in-place.
|
default void |
run() |
default O |
run(I1 input1,
I2 input2,
O output)
Executes the operation in a type-safe but flexible way.
|
in2, setInput, setInput1, setInput2run, runcandidates, filterArity, opops, setEnvironmentinitializevoid mutate1(O arg, I2 in)
arg - First argument of the BinaryInplace1Op, which
will be mutated.in - Second argument of the BinaryInplace1Op, which will
not be mutated.default O run(I1 input1, I2 input2, O output)
BinaryOpThe exact behavior depends on the type of special op.
run in interface BinaryOp<I1,I2,O extends I1>input1 - first argument to the operationinput2 - second argument to the operationoutput - reference where the operation's result will be storedBinaryComputerOp.run(Object, Object, Object),
BinaryFunctionOp.run(Object, Object, Object),
BinaryInplaceOp.run(Object, Object, Object),
BinaryHybridCF.run(Object, Object, Object)default I1 in1()
in1 in interface BinaryInput<I1,I2>default void mutate(O arg)
UnaryInplaceOpmutate in interface UnaryInplaceOp<I1,O extends I1>arg - of the UnaryInplaceOpdefault I1 in()
in in interface BinaryInput<I1,I2>in in interface UnaryInplaceOp<I1,O extends I1>in in interface UnaryInput<I1>default void run()
default BinaryInplace1Op<I1,I2,O> getIndependentInstance()
ThreadableIt is expected that subclasses which override this method will narrow the return type appropriately. We do not enforce this at compile time via recursive generics due to their complexity: they introduce a host of typing difficulties.
getIndependentInstance in interface BinaryOp<I1,I2,O extends I1>getIndependentInstance in interface NullaryOp<O extends I1>getIndependentInstance in interface SpecialOpgetIndependentInstance in interface ThreadablegetIndependentInstance in interface UnaryInplaceOp<I1,O extends I1>getIndependentInstance in interface UnaryOp<I1,O extends I1>Copyright © 2014–2022 ImageJ. All rights reserved.