I1 - type of first inputI2 - type of second inputO - type of outputpublic interface BinaryHybridCI1<I1,I2,O extends I1> extends BinaryComputerOp<I1,I2,O>, BinaryInplace1Op<I1,I2,O>, UnaryHybridCI<I1,O>
BinaryComputerOp, or
BinaryInplace1Op.
To populate a preallocated output object, call
BinaryComputerOp.compute(I1, I2, O); to mutate the first input inplace, call
BinaryInplace1Op.mutate1(O, I2). To do any of these things as appropriate,
call run(Object, Object, Object).
BinaryHybridCF,
BinaryHybridCFISpecialOp.Flavor| Modifier and Type | Method and Description |
|---|---|
default BinaryHybridCI1<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 void |
mutate(O arg)
Mutates the given input 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.
|
compute, computein, in1, mutate1in2, setInput, setInput1, setInput2run, runcomputesetOutputcandidates, filterArity, opops, setEnvironmentinitializedefault void mutate(O arg)
UnaryInplaceOpmutate in interface BinaryInplace1Op<I1,I2,O extends I1>mutate in interface UnaryHybridCI<I1,O extends I1>mutate in interface UnaryInplaceOp<I1,O extends I1>arg - of the UnaryInplaceOpdefault O run(I1 input1, I2 input2, O output)
BinaryOpThe exact behavior depends on the type of special op.
run in interface BinaryComputerOp<I1,I2,O extends I1>run in interface BinaryInplace1Op<I1,I2,O extends I1>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 void run()
run in interface BinaryComputerOp<I1,I2,O extends I1>run in interface BinaryInplace1Op<I1,I2,O extends I1>run in interface BinaryOp<I1,I2,O extends I1>run in interface NullaryComputerOp<O extends I1>run in interface NullaryOp<O extends I1>run in interface Runnablerun in interface UnaryComputerOp<I1,O extends I1>run in interface UnaryHybridCI<I1,O extends I1>run in interface UnaryOp<I1,O extends I1>default BinaryHybridCI1<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 BinaryComputerOp<I1,I2,O extends I1>getIndependentInstance in interface BinaryInplace1Op<I1,I2,O extends I1>getIndependentInstance in interface BinaryOp<I1,I2,O extends I1>getIndependentInstance in interface NullaryComputerOp<O extends I1>getIndependentInstance in interface NullaryOp<O extends I1>getIndependentInstance in interface SpecialOpgetIndependentInstance in interface ThreadablegetIndependentInstance in interface UnaryComputerOp<I1,O extends I1>getIndependentInstance in interface UnaryHybridCI<I1,O extends I1>getIndependentInstance in interface UnaryInplaceOp<I1,O extends I1>getIndependentInstance in interface UnaryOp<I1,O extends I1>Copyright © 2014–2022 ImageJ. All rights reserved.