## Uses of Interface
org.eclipse.incquery.runtime.matchers.psystem.PConstraint

- Packages that use PConstraint
  Package | Description
  --- | ---
  org.eclipse.incquery.runtime.localsearch.planner |
  org.eclipse.incquery.runtime.localsearch.planner.cost |
  org.eclipse.incquery.runtime.localsearch.planner.cost.impl |
  org.eclipse.incquery.runtime.localsearch.planner.util |
  org.eclipse.incquery.runtime.matchers.planning |
  org.eclipse.incquery.runtime.matchers.planning.helpers |
  org.eclipse.incquery.runtime.matchers.planning.operations |
  org.eclipse.incquery.runtime.matchers.psystem |
  org.eclipse.incquery.runtime.matchers.psystem.basicdeferred |
  org.eclipse.incquery.runtime.matchers.psystem.basicenumerables |
  org.eclipse.incquery.runtime.matchers.psystem.rewriters |
  org.eclipse.incquery.runtime.rete.construction.basiclinear |
  org.eclipse.incquery.runtime.rete.construction.quasitree |

- - ### Uses of PConstraint in org.eclipse.incquery.runtime.localsearch.planner

    Methods in org.eclipse.incquery.runtime.localsearch.planner that return PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `PConstraint` | PConstraintInfo.`getConstraint()`

    Constructors in org.eclipse.incquery.runtime.localsearch.planner with parameters of type PConstraint
    Constructor and Description
    `PConstraintInfo(PConstraint constraint, java.util.Set<PVariable> boundMaskVariables, java.util.Set<PVariable> freeMaskVariables, java.util.Set<PConstraintInfo> sameWithDifferentBindings, IQueryRuntimeContext runtimeContext)` Instantiates the wrapper

  - ### Uses of PConstraint in org.eclipse.incquery.runtime.localsearch.planner.cost

    Methods in org.eclipse.incquery.runtime.localsearch.planner.cost that return types with arguments of type PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `com.google.common.base.Predicate<PConstraint>` | IConstraintEvaluablePredicateProvider.`getConstraint(SubPlan plan)`

    Methods in org.eclipse.incquery.runtime.localsearch.planner.cost with parameters of type PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | EvaluablePConstraint.`apply(PConstraint input)`
    `double` | ICostEstimator.`getCost(SubPlan currentPlan, PConstraint patternConstraint)` Deprecated. According to the current variable binding estimates the cost of the application of the given constraint

  - ### Uses of PConstraint in org.eclipse.incquery.runtime.localsearch.planner.cost.impl

    Methods in org.eclipse.incquery.runtime.localsearch.planner.cost.impl with parameters of type PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `double` | VariableBindingBasedCostEstimator.`getCost(SubPlan currentPlan, PConstraint constraint)` Deprecated.

  - ### Uses of PConstraint in org.eclipse.incquery.runtime.localsearch.planner.util

    Methods in org.eclipse.incquery.runtime.localsearch.planner.util that return types with arguments of type PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `static java.util.Map<PConstraint,java.util.Set<java.lang.Integer>>` | CompilerHelper.`cacheVariableBindings(SubPlan plan, java.util.Map<PVariable,java.lang.Integer> variableMappings, java.util.Set<java.lang.Integer> adornment)`

    Methods in org.eclipse.incquery.runtime.localsearch.planner.util with parameters of type PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `int` | OrderingHeuristics.`compare(PConstraint constraint1, PConstraint constraint2)` Deprecated.

  - ### Uses of PConstraint in org.eclipse.incquery.runtime.matchers.planning

    Methods in org.eclipse.incquery.runtime.matchers.planning that return types with arguments of type PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Set<PConstraint>` | SubPlan.`getAllEnforcedConstraints()` All constraints that are known to hold at this point
    `java.util.Set<PConstraint>` | SubPlan.`getDeltaEnforcedConstraints()` The new constraints enforced at this stage of plan, that aren't yet enforced at parents (results are also included in `SubPlan.getAllEnforcedConstraints()`)

    Methods in org.eclipse.incquery.runtime.matchers.planning with parameters of type PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `void` | SubPlan.`inferConstraint(PConstraint constraint)` Indicate that a given constraint was found to be automatically satisfied at this point without additional operations.

  - ### Uses of PConstraint in org.eclipse.incquery.runtime.matchers.planning.helpers

    Methods in org.eclipse.incquery.runtime.matchers.planning.helpers that return PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `static PConstraint` | BuildHelper.`getAnyUnenforcedConstraint(PBody pSystem, SubPlan plan)` Finds an arbitrary constraint that is not enforced at the given plan.

    Method parameters in org.eclipse.incquery.runtime.matchers.planning.helpers with type arguments of type PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `static java.util.Set<TypeJudgement>` | TypeHelper.`getDirectJudgements(java.util.Set<PConstraint> constraints, IQueryMetaContext context)` Gets direct judgements reported by constraints.
    `static java.util.Map<PVariable,java.util.Set<TypeJudgement>>` | TypeHelper.`inferUnaryTypes(java.util.Set<PConstraint> constraints, IQueryMetaContext context)` Infers unary type information for variables, based on the given constraints.

  - ### Uses of PConstraint in org.eclipse.incquery.runtime.matchers.planning.operations

    Methods in org.eclipse.incquery.runtime.matchers.planning.operations that return PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `PConstraint` | PApply.`getPConstraint()`

    Methods in org.eclipse.incquery.runtime.matchers.planning.operations that return types with arguments of type PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Set<? extends PConstraint>` | PStart.`getDeltaConstraints()`
    `java.util.Set<? extends PConstraint>` | PProject.`getDeltaConstraints()`
    `abstract java.util.Set<? extends PConstraint>` | POperation.`getDeltaConstraints()` Newly enforced constraints
    `java.util.Set<? extends PConstraint>` | PJoin.`getDeltaConstraints()`
    `java.util.Set<? extends PConstraint>` | PEnumerate.`getDeltaConstraints()`
    `java.util.Set<? extends PConstraint>` | PApply.`getDeltaConstraints()`

    Constructors in org.eclipse.incquery.runtime.matchers.planning.operations with parameters of type PConstraint
    Constructor and Description
    `PApply(PConstraint pConstraint)`

  - ### Uses of PConstraint in org.eclipse.incquery.runtime.matchers.psystem

    Subinterfaces of PConstraint in org.eclipse.incquery.runtime.matchers.psystem
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ITypeConstraint` Common superinterface of enumerable and deferred type constraints.
    `interface` | `ITypeInfoProviderConstraint`

    Classes in org.eclipse.incquery.runtime.matchers.psystem that implement PConstraint
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BasePConstraint`
    `class` | `DeferredPConstraint` Any constraint that can only be checked on certain SubPlans (e.g.
    `class` | `EnumerablePConstraint` A constraint for which all satisfying tuples of variable values can be enumerated at any point during run-time.
    `class` | `KeyedEnumerablePConstraint<KeyType>`
    `class` | `VariableDeferredPConstraint` A kind of deferred constraint that can only be checked when a set of deferring variables are all present in a plan.

    Methods in org.eclipse.incquery.runtime.matchers.psystem that return types with arguments of type PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Set<PConstraint>` | PBody.`getConstraints()`
    `java.util.Set<PConstraint>` | PVariable.`getReferringConstraints()`

    Methods in org.eclipse.incquery.runtime.matchers.psystem with parameters of type PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `int` | PConstraint.CompareByMonotonousID.`compare(PConstraint arg0, PConstraint arg1)`
    `void` | PVariable.`refer(PConstraint constraint)` Register that this variable is referred by the given constraint.
    `void` | PVariable.`unrefer(PConstraint constraint)` Register that this variable is no longer referred by the given constraint.

  - ### Uses of PConstraint in org.eclipse.incquery.runtime.matchers.psystem.basicdeferred

    Classes in org.eclipse.incquery.runtime.matchers.psystem.basicdeferred that implement PConstraint
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BaseTypeSafeConstraint`
    `class` | `Equality`
    `class` | `ExportedParameter`
    `class` | `ExpressionEvaluation`
    `class` | `Inequality`
    `class` | `NegativePatternCall`
    `class` | `PatternCallBasedDeferred`
    `class` | `PatternMatchCounter`
    `class` | `TypeFilterConstraint` Represents an enumerable type constraint that asserts that values substituted for the given tuple of variables form a tuple that belongs to a (typically non-enumerable) extensional relation identified by an `IInputKey`.

  - ### Uses of PConstraint in org.eclipse.incquery.runtime.matchers.psystem.basicenumerables

    Classes in org.eclipse.incquery.runtime.matchers.psystem.basicenumerables that implement PConstraint
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BinaryTransitiveClosure` For a binary base pattern, computes the irreflexive transitive closure (base)+
    `class` | `ConstantValue`
    `class` | `PositivePatternCall`
    `class` | `TypeConstraint` Represents an enumerable type constraint that asserts that values substituted for the given tuple of variables form a tuple that belongs to an enumerable extensional relation identified by an `IInputKey`.

  - ### Uses of PConstraint in org.eclipse.incquery.runtime.matchers.psystem.rewriters

    Methods in org.eclipse.incquery.runtime.matchers.psystem.rewriters with parameters of type PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | IConstraintFilter.`filter(PConstraint constraint)` Returns true, if the given constraint should be filtered (thus should not be copied)
    `boolean` | IConstraintFilter.ExportedParameterFilter.`filter(PConstraint constraint)`
    `boolean` | IConstraintFilter.AllowAllFilter.`filter(PConstraint constraint)`

  - ### Uses of PConstraint in org.eclipse.incquery.runtime.rete.construction.basiclinear

    Methods in org.eclipse.incquery.runtime.rete.construction.basiclinear with parameters of type PConstraint
    Modifier and Type | Method and Description
    --- | ---
    `int` | OrderingHeuristics.`compare(PConstraint o1, PConstraint o2)`

  - ### Uses of PConstraint in org.eclipse.incquery.runtime.rete.construction.quasitree

    Fields in org.eclipse.incquery.runtime.rete.construction.quasitree with type parameters of type PConstraint
    Modifier and Type | Field and Description
    --- | ---
    `static java.util.Comparator<PConstraint>` | TieBreaker.`CONSTRAINT_COMPARATOR`
    `static java.util.Comparator<java.lang.Iterable<? extends PConstraint>>` | TieBreaker.`CONSTRAINT_LIST_COMPARATOR`