## Uses of Interface
org.optaplanner.core.impl.score.stream.tri.InnerTriConstraintStream

- Packages that use InnerTriConstraintStream
  Package | Description
  --- | ---
  org.optaplanner.core.impl.score.stream.bavet.tri |
  org.optaplanner.core.impl.score.stream.drools.tri |

- - ### Uses of InnerTriConstraintStream in org.optaplanner.core.impl.score.stream.bavet.tri

    Classes in org.optaplanner.core.impl.score.stream.bavet.tri that implement InnerTriConstraintStream
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BavetAbstractTriConstraintStream<Solution_,​A,​B,​C>` |
    `class` | `BavetFilterTriConstraintStream<Solution_,​A,​B,​C>` |
    `class` | `BavetJoinTriConstraintStream<Solution_,​A,​B,​C>` |
    `class` | `BavetScoringTriConstraintStream<Solution_,​A,​B,​C>` |

  - ### Uses of InnerTriConstraintStream in org.optaplanner.core.impl.score.stream.drools.tri

    Classes in org.optaplanner.core.impl.score.stream.drools.tri that implement InnerTriConstraintStream
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C>` |
    `class` | `DroolsExistsTriConstraintStream<Solution_,​A,​B,​C>` |
    `class` | `DroolsFilterTriConstraintStream<Solution_,​A,​B,​C>` |
    `class` | `DroolsFlatteningTriConstraintStream<Solution_,​A,​B,​NewC>` |
    `class` | `DroolsGroupingTriConstraintStream<Solution_,​NewA,​NewB,​NewC>` |
    `class` | `DroolsJoinTriConstraintStream<Solution_,​A,​B,​C>` |