# Package org.cpsolver.ifs.assignment

An assignment holds current values of all the variables of a model.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Assignment<V extends Variable<V,T>,T extends Value<V,T>> | An assignment of all the variable of a `Model`.
  AssignmentComparable<X,V extends Variable<V,T>,T extends Value<V,T>> | Comparable interface for assignment-dependent objects.
  InheritedAssignment<V extends Variable<V,T>,T extends Value<V,T>> | An assignment inherited from some other assignment with only a few local modifications.

- Class Summary
  Class | Description
  --- | ---
  AssignmentAbstract<V extends Variable<V,T>,T extends Value<V,T>> | An abstract implementation of an `Assignment` object.
  AssignmentArray<V extends Variable<V,T>,T extends Value<V,T>> | An assignment using array to store values of all the variables of the model.
  AssignmentComparator<X extends AssignmentComparable<X,V,T>,V extends Variable<V,T>,T extends Value<V,T>> | Comparator for the `AssignmentComparable` objects.
  AssignmentMap<V extends Variable<V,T>,T extends Value<V,T>> | An assignment using a `HashMap` to store values of all the variables of the model.
  DefaultInheritedAssignment<V extends Variable<V,T>,T extends Value<V,T>> | Default inherited assignment.
  DefaultParallelAssignment<V extends Variable<V,T>,T extends Value<V,T>> | An assignment using the `Variable.getAssignments()` to store values of all the variables of the model.
  DefaultSingleAssignment<V extends Variable<V,T>,T extends Value<V,T>> | An assignment using the old `Variable.getAssignment()` to store values of all the variables of the model.
  EmptyAssignment<V extends Variable<V,T>,T extends Value<V,T>> | An empty assignment.
  InheritedAssignmentArray<V extends Variable<V,T>,T extends Value<V,T>> |
  OptimisticInheritedAssignment<V extends Variable<V,T>,T extends Value<V,T>> | Optimistic inherited assignment.
  ValueComparator<V extends Variable<V,T>,T extends Value<V,T>> | A simple class comparing two values.

## Package org.cpsolver.ifs.assignment Description

An assignment holds current values of all the variables of a model. These classes decouple an assignment of variables to their values from the model. This is needed for any kind of parallel computations, or in general, to be able to hold multiple different assignments in memory.