Package owl.collections

## Class ValuationTree<E>

- java.lang.Object
- - owl.collections.ValuationTree<E>

- Direct Known Subclasses:
    `ValuationTree.Leaf`, `ValuationTree.Node`

      public abstract class ValuationTree<E>
      extends Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `ValuationTree.Leaf<E>` |
    `static class` | `ValuationTree.Node<E>` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract Set<E>` | `get​(BitSet valuation)` |
    `Map<E,​ValuationSet>` | `inverse​(ValuationSetFactory factory)` |
    `<T> ValuationTree<T>` | `map​(Function<? super Set<E>,​? extends Collection<? extends T>> mapper)` |
    `protected abstract Map<E,​ValuationSet>` | `memoizedInverse​(ValuationSetFactory factory, Map<ValuationTree<E>,​Map<E,​ValuationSet>> memoizedCalls)` |
    `protected abstract <T> ValuationTree<T>` | `memoizedMap​(Function<? super Set<E>,​? extends Collection<? extends T>> mapper, Map<ValuationTree<E>,​ValuationTree<T>> memoizedCalls)` |
    `static <E> ValuationTree<E>` | `of()` |
    `static <E> ValuationTree<E>` | `of​(int variable, ValuationTree<E> trueChild, ValuationTree<E> falseChild)` |
    `static <E> ValuationTree<E>` | `of​(Collection<? extends E> value)` |
    `abstract Set<E>` | `values()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### of

          public static <E> ValuationTree<E> of()

    - #### of

          public static <E> ValuationTree<E> of​(Collection<? extends E> value)

    - #### of

          public static <E> ValuationTree<E> of​(int variable,
                                                ValuationTree<E> trueChild,
                                                ValuationTree<E> falseChild)

    - #### get

          public abstract Set<E> get​(BitSet valuation)

    - #### values

          public abstract Set<E> values()

    - #### inverse

          public final Map<E,​ValuationSet> inverse​(ValuationSetFactory factory)

    - #### map

          public final <T> ValuationTree<T> map​(Function<? super Set<E>,​? extends Collection<? extends T>> mapper)

    - #### memoizedMap

          protected abstract <T> ValuationTree<T> memoizedMap​(Function<? super Set<E>,​? extends Collection<? extends T>> mapper,
                                                              Map<ValuationTree<E>,​ValuationTree<T>> memoizedCalls)

    - #### memoizedInverse

          protected abstract Map<E,​ValuationSet> memoizedInverse​(ValuationSetFactory factory,
                                                                       Map<ValuationTree<E>,​Map<E,​ValuationSet>> memoizedCalls)