001    /*
002     * $Id: BinaryFunctor.java 2955 2010-01-01 12:50:44Z kredel $
003     */
004    
005    package edu.jas.structure;
006    
007    
008    /**
009     * Binary functor interface.
010     * @param <C1> element type
011     * @param <C2> element type
012     * @param <D> element type
013     * @author Heinz Kredel
014     */
015    
016    public interface BinaryFunctor<C1 extends Element<C1>,
017                                   C2 extends Element<C2>,
018                                   D extends Element<D> > {
019    
020    
021        /**
022         * Evaluate.
023         * @return evaluated element.
024         */
025        public D eval(C1 c1, C2 c2);
026    
027    }