
package imagej.ops.join;

import imagej.ops.Function;
import imagej.ops.InplaceFunction;

/**
 * A join operation which joins two {@link InplaceFunction}s. The resulting
 * function will take the input of the first {@link Function} as input and the
 * output of the second {@link Function} as the output;
 * 
 * @author Christian Dietz
 */
public interface JoinInplace<A> extends Join {

	/**
	 * @return first {@link Function} to be joined
	 */
	InplaceFunction<A> getFirst();

	/**
	 * @param first {@link Function} to be joined
	 */
	void setFirst(InplaceFunction<A> first);

	/**
	 * @return second {@link Function} to be joined
	 */
	InplaceFunction<A> getSecond();

	/**
	 * @param second {@link Function} to be joined
	 */
	void setSecond(InplaceFunction<A> second);

}

@@ -377,402 +377,98 @@
 ends
- Join %7B%0A%0A%09/**%0A%09 * @return first %7B@link Function%7D to be joined%0A%09 */%0A%09InplaceFunction%3CA%3E getFirst();%0A%0A%09/**%0A%09 * @param first %7B@link Function%7D to be joined%0A%09 */%0A%09void setFirst(InplaceFunction%3CA%3E first);%0A%0A%09/**%0A%09 * @return second %7B@link Function%7D to be joined%0A%09 */%0A%09InplaceFunction%3CA%3E getSecond();%0A%0A%09/**%0A%09 * @param second %7B@link Function%7D to be joined%0A%09 */%0A%09void setSecond(InplaceFunction%3CA%3E second);%0A
+%0A%09JoinFunction%3CA, A, A, InplaceFunction%3CA%3E, InplaceFunction%3CA%3E%3E%0A%7B%0A%09// NB: Marker interface.
 %0A%7D%0A

extend JoinFunction