## Uses of Interface
org.cpsolver.ifs.assignment.context.AssignmentContext

- Packages that use AssignmentContext
  Package | Description
  --- | ---
  org.cpsolver.coursett.constraint | University Course Timetabling: Constraints.
  org.cpsolver.coursett.criteria.additional | University Course Timetabling: Additional (Experimental) Criteria.
  org.cpsolver.coursett.criteria.placement | University Course Timetabling: Placement Selection Criteria.
  org.cpsolver.coursett.heuristics | University Course Timetabling: Heuristics.
  org.cpsolver.coursett.model | University Course Timetabling: Model.
  org.cpsolver.exam.criteria | Examination Timetabling: Criteria.
  org.cpsolver.exam.heuristics | Examination Timetabling: Solution Heuristics.
  org.cpsolver.exam.model | Examination Timetabling: Model.
  org.cpsolver.ifs.algorithms | IFS Neighbourhood Search Algorithms
  org.cpsolver.ifs.assignment | An assignment holds current values of all the variables of a model.
  org.cpsolver.ifs.assignment.context | Assignment context can be used by a class (e.g., a constraint, a extension, a neighborhood selection, or a criterion) to contain any assignment dependent data.
  org.cpsolver.ifs.criteria | IFS Criteria.
  org.cpsolver.ifs.example.rpp | Random Placement Problem.
  org.cpsolver.ifs.example.tt | Simple Timetabling Problem.
  org.cpsolver.ifs.extension | IFS Extensions (conflict-based statistics, maintenance of arc consistency)
  org.cpsolver.ifs.heuristics | IFS Heuristics (value and variable selection criteria)
  org.cpsolver.ifs.model | IFS Model (description of a problem)
  org.cpsolver.instructor.constraints | Instructor Scheduling: Constraints.
  org.cpsolver.instructor.model | Instructor Scheduling: Model.
  org.cpsolver.studentsct | Student Sectioning Solver.
  org.cpsolver.studentsct.extension | Student Sectioning: Various Extensions.
  org.cpsolver.studentsct.model | Student Sectioning: Model.
  org.cpsolver.studentsct.reservation | Student Sectioning: Reservations.

- - ### Uses of AssignmentContext in org.cpsolver.coursett.constraint

    Classes in org.cpsolver.coursett.constraint that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DiscouragedRoomConstraint.DiscouragedRoomConstraintContext`
    `class` | `FlexibleConstraint.FlexibleConstraintContext`
    `class` | `GroupConstraint.GroupConstraintContext`
    `class` | `InstructorConstraint.InstructorConstraintContext`
    `class` | `JenrlConstraint.JenrlConstraintContext`
    `class` | `MaxBreaksFlexibleConstraint.MaxBreaksFlexibleConstraintContext`
    `class` | `MaxDaysFlexibleConstraint.MaxDaysFlexibleConstraintContext`
    `class` | `MaxHalfDaysFlexibleConstraint.MaxHalfDaysFlexibleConstraintContext`
    `class` | `MaxHolesFlexibleConstraint.MaxHolesFlexibleConstraintContext`
    `class` | `MaxWeeksFlexibleConstraint.MaxWeeksFlexibleConstraintContext`
    `class` | `MinimizeNumberOfUsedGroupsOfTime.MinimizeNumberOfUsedGroupsOfTimeContext`
    `class` | `MinimizeNumberOfUsedRoomsConstraint.MinimizeNumberOfUsedRoomsConstraintContext`
    `class` | `RoomConstraint.RoomConstraintContext`
    `class` | `SoftInstructorConstraint.SoftInstructorConstraintContext`
    `class` | `SpreadConstraint.SpreadConstraintContext`

  - ### Uses of AssignmentContext in org.cpsolver.coursett.criteria.additional

    Classes in org.cpsolver.coursett.criteria.additional that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `InstructorFairness.InstructorFairnessContext` Context for InstructorFairness
    `class` | `InstructorLunchBreak.InstructorLunchBreakContext`

  - ### Uses of AssignmentContext in org.cpsolver.coursett.criteria.placement

    Classes in org.cpsolver.coursett.criteria.placement that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AssignmentCount.AssignmentCountContext` Deprecated.
    `class` | `WeightedHardConflicts.IterationContext`

  - ### Uses of AssignmentContext in org.cpsolver.coursett.heuristics

    Classes in org.cpsolver.coursett.heuristics that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `FixCompleteSolutionNeighbourSelection.FixCompleteSolutionNeighbourContext`

  - ### Uses of AssignmentContext in org.cpsolver.coursett.model

    Classes in org.cpsolver.coursett.model that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Lecture.LectureContext`

  - ### Uses of AssignmentContext in org.cpsolver.exam.criteria

    Classes in org.cpsolver.exam.criteria that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `ExamRotationPenalty.RotationContext`
    `protected class` | `RoomSplitDistancePenalty.RoomSplitContext`
    `protected class` | `RoomSplitPenalty.RoomSplitContext`

  - ### Uses of AssignmentContext in org.cpsolver.exam.heuristics

    Classes in org.cpsolver.exam.heuristics that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ExamConstruction.Context`
    `class` | `ExamGreatDeluge.Context` Deprecated.
    `class` | `ExamHillClimbing.Context` Deprecated.
    `class` | `ExamNeighbourSelection.Context`
    `class` | `ExamSimulatedAnnealing.Context` Deprecated.
    `static class` | `ExamTabuSearch.TabuList` Tabu-list

  - ### Uses of AssignmentContext in org.cpsolver.exam.model

    Classes in org.cpsolver.exam.model that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ExamContext`
    `class` | `ExamDistributionConstraint.Context`
    `class` | `ExamRoom.ExamRoomContext`

  - ### Uses of AssignmentContext in org.cpsolver.ifs.algorithms

    Classes in org.cpsolver.ifs.algorithms that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `GreatDeluge.GreatDelugeContext`
    `class` | `HillClimber.HillClimberContext`
    `class` | `MetaHeuristicSearch.MetaHeuristicSearchContext`
    `class` | `NeighbourSearch.NeighbourSearchContext` Search context
    `class` | `ParallelConstruction.ConstructionContext`
    `class` | `SimpleSearch.SimpleSearchContext`
    `class` | `SimulatedAnnealing.SimulatedAnnealingContext`
    `class` | `StepCountingHillClimber.StepCountingHillClimberContext`

  - ### Uses of AssignmentContext in org.cpsolver.ifs.assignment

    Methods in org.cpsolver.ifs.assignment with type parameters of type AssignmentContext
    Modifier and Type | Method and Description
    --- | ---
    `<C extends AssignmentContext> void` | Assignment.`clearContext(AssignmentContextReference<V,T,C> reference)` Clear an assignment context that is associated with the given a reference.
    `<C extends AssignmentContext> void` | AssignmentAbstract.`clearContext(AssignmentContextReference<V,T,C> reference)`
    `<C extends AssignmentContext> C` | Assignment.`getAssignmentContext(AssignmentContextReference<V,T,C> reference)` Assignment context for a reference.
    `<C extends AssignmentContext> C` | AssignmentAbstract.`getAssignmentContext(AssignmentContextReference<V,T,C> reference)`

  - ### Uses of AssignmentContext in org.cpsolver.ifs.assignment.context

    Classes in org.cpsolver.ifs.assignment.context with type parameters of type AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractClassWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` An abstract implementation of an assignment context holding class.
    `class` | `AssignmentContextReference<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` A reference to an assignment context.
    `interface` | `CanInheritContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` An additional interface that can be implemented by the `HasAssignmentContext` class.
    `class` | `ExtensionWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` An extension with an assignment context.
    `interface` | `HasAssignmentContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` An interface to be implemented by a class that need an assignment context associated with it.
    `static class` | `InheritedAssignmentContextHolder.VersionedContext<U extends AssignmentContext>`
    `class` | `NeighbourSelectionWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` A neighborhood selection with an assignment context.
    `class` | `VariableWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` A variable with an assignment context.

    Subinterfaces of AssignmentContext in org.cpsolver.ifs.assignment.context
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `AssignmentConstraintContext<V extends Variable<V,T>,T extends Value<V,T>>` An extension of the simple `AssignmentContext` which is used by the `ConstraintWithContext` class.

    Classes in org.cpsolver.ifs.assignment.context that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `InheritedAssignmentContextHolder.VersionedContext<U extends AssignmentContext>`

    Fields in org.cpsolver.ifs.assignment.context declared as AssignmentContext
    Modifier and Type | Field and Description
    --- | ---
    `protected C` | NeighbourSelectionWithContext.`iContextOverride`

    Fields in org.cpsolver.ifs.assignment.context with type parameters of type AssignmentContext
    Modifier and Type | Field and Description
    --- | ---
    `protected Map<Integer,AssignmentContext>` | AssignmentContextHolderMap.`iContexts`

    Methods in org.cpsolver.ifs.assignment.context with type parameters of type AssignmentContext
    Modifier and Type | Method and Description
    --- | ---
    `<C extends AssignmentContext> void` | AssignmentContextHolderArray.`clearContext(AssignmentContextReference<V,T,C> reference)`
    `<C extends AssignmentContext> void` | AssignmentContextHolderMap.`clearContext(AssignmentContextReference<V,T,C> reference)`
    `<C extends AssignmentContext> void` | DefaultParallelAssignmentContextHolder.`clearContext(AssignmentContextReference<V,T,C> reference)`
    `<C extends AssignmentContext> void` | DefaultSingleAssignmentContextHolder.`clearContext(AssignmentContextReference<V,T,C> reference)`
    `<U extends AssignmentContext> void` | AssignmentContextHolder.`clearContext(AssignmentContextReference<V,T,U> reference)` Clear an assignment context that is associated with the given a reference.
    `<U extends AssignmentContext> U` | AssignmentContextHolder.`getAssignmentContext(Assignment<V,T> assignment, AssignmentContextReference<V,T,U> reference)` Return assignment context for the given assignment and reference.
    `<U extends AssignmentContext> U` | AssignmentContextHolderArray.`getAssignmentContext(Assignment<V,T> assignment, AssignmentContextReference<V,T,U> reference)`
    `<U extends AssignmentContext> U` | AssignmentContextHolderMap.`getAssignmentContext(Assignment<V,T> assignment, AssignmentContextReference<V,T,U> reference)`
    `<U extends AssignmentContext> U` | DefaultParallelAssignmentContextHolder.`getAssignmentContext(Assignment<V,T> assignment, AssignmentContextReference<V,T,U> reference)`
    `<U extends AssignmentContext> U` | DefaultSingleAssignmentContextHolder.`getAssignmentContext(Assignment<V,T> assignment, AssignmentContextReference<V,T,U> reference)`
    `<U extends AssignmentContext> U` | InheritedAssignmentContextHolder.`getAssignmentContext(Assignment<V,T> assignment, AssignmentContextReference<V,T,U> reference)` If the `AssignmentContextReference.getParent()` implements the `CanInheritContext` interface, this method will use the `CanInheritContext.inheritAssignmentContext(Assignment, AssignmentContext)` instead of the `HasAssignmentContext.createAssignmentContext(Assignment)` to create a new context.
    `static <V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext> C` | AssignmentContextHelper.`getContext(HasAssignmentContext<V,T,C> source, Assignment<V,T> assignment)` Returns an assignment context associated with the given object.

    Methods in org.cpsolver.ifs.assignment.context that return AssignmentContext
    Modifier and Type | Method and Description
    --- | ---
    `AssignmentContext[]` | AbstractClassWithContext.`getContext()`
    `AssignmentContext[]` | BinaryConstraintWithContext.`getContext()`
    `AssignmentContext[]` | CanHoldContext.`getContext()` An array of `CanHoldContext.sMaxSize` assignment contexts
    `AssignmentContext[]` | ConstraintWithContext.`getContext()`
    `AssignmentContext[]` | ExtensionWithContext.`getContext()`
    `AssignmentContext[]` | ModelWithContext.`getContext()`
    `AssignmentContext[]` | NeighbourSelectionWithContext.`getContext()`
    `AssignmentContext[]` | VariableWithContext.`getContext()`

  - ### Uses of AssignmentContext in org.cpsolver.ifs.criteria

    Classes in org.cpsolver.ifs.criteria that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractCriterion.ValueContext` Assignment context holding current value and the cached bounds.

    Methods in org.cpsolver.ifs.criteria that return AssignmentContext
    Modifier and Type | Method and Description
    --- | ---
    `AssignmentContext[]` | AbstractCriterion.`getContext()`

  - ### Uses of AssignmentContext in org.cpsolver.ifs.example.rpp

    Classes in org.cpsolver.ifs.example.rpp that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ResourceConstraint.Context` Assignment context

  - ### Uses of AssignmentContext in org.cpsolver.ifs.example.tt

    Classes in org.cpsolver.ifs.example.tt that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Resource.Context` Assignment context

  - ### Uses of AssignmentContext in org.cpsolver.ifs.extension

    Classes in org.cpsolver.ifs.extension that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MacPropagation.NoGood` Assignment context
    `class` | `MacRevised.NoGood` Assignment context
    `class` | `SearchIntensification.Context` Assignment context

  - ### Uses of AssignmentContext in org.cpsolver.ifs.heuristics

    Classes in org.cpsolver.ifs.heuristics that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BacktrackNeighbourSelection.BacktrackNeighbourSelectionContext`

  - ### Uses of AssignmentContext in org.cpsolver.ifs.model

    Methods in org.cpsolver.ifs.model with type parameters of type AssignmentContext
    Modifier and Type | Method and Description
    --- | ---
    `<C extends AssignmentContext> AssignmentContextReference<V,T,C>` | Model.`createReference(HasAssignmentContext<V,T,C> parent)` Create a reference to an assignment context for a class that is in a need of one.
    `<C extends AssignmentContext> AssignmentContextReference<V,T,C>` | Model.`removeReference(HasAssignmentContext<V,T,C> parent)` Remove a reference to an assignment context for the model

  - ### Uses of AssignmentContext in org.cpsolver.instructor.constraints

    Classes in org.cpsolver.instructor.constraints that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SameInstructorConstraint.Context` Same Instructor Constraint Context.
    `class` | `SameLinkConstraint.Context` Same Link Constraint Context.

  - ### Uses of AssignmentContext in org.cpsolver.instructor.model

    Classes in org.cpsolver.instructor.model that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Instructor.Context` Instructor Constraint Context.

  - ### Uses of AssignmentContext in org.cpsolver.studentsct

    Classes in org.cpsolver.studentsct that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `StudentSectioningModel.StudentSectioningModelContext`

  - ### Uses of AssignmentContext in org.cpsolver.studentsct.extension

    Classes in org.cpsolver.studentsct.extension that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DistanceConflict.DistanceConflictContext`
    `class` | `StudentQuality.StudentQualityContext` Assignment context
    `class` | `TimeOverlapsCounter.TimeOverlapsCounterContext`

  - ### Uses of AssignmentContext in org.cpsolver.studentsct.model

    Classes in org.cpsolver.studentsct.model that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Config.ConfigContext`
    `class` | `Course.CourseContext`
    `class` | `FreeTimeRequest.FreeTimeRequestContext`
    `class` | `Request.RequestContext`
    `class` | `RequestGroup.RequestGroupContext`
    `class` | `Section.SectionContext`

  - ### Uses of AssignmentContext in org.cpsolver.studentsct.reservation

    Classes in org.cpsolver.studentsct.reservation that implement AssignmentContext
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Reservation.ReservationContext`