1
0
mirror of https://github.com/DanilaFe/abacus synced 2024-07-01 23:06:11 -07:00
Abacus/src/main/java/org/nwapw/abacus/tree/Reducer.java
2017-07-30 21:11:32 -07:00

20 lines
498 B
Java

package org.nwapw.abacus.tree;
/**
* Interface used to reduce a tree into a single value.
*
* @param <T> the value to reduce into.
*/
public interface Reducer<T> {
/**
* Reduces the given tree into a single value of type T.
*
* @param node the node being passed in to be reduced.
* @param children the already-reduced children of this node.
* @return the resulting value from the reduce.
*/
public T reduceNode(TreeNode node, Object... children);
}