FlagStore
An immutable storage for Prolog flags and their values, i.e. the String → Termmap a [it.unibo.tuprolog.solve.Solver] reads (via [it.unibo.tuprolog.solve.ExecutionContextAware.flags]) to answer current_prolog_flag/2` and similar. Keeping flags as data, rather than as scattered solver fields, makes the whole configurable surface of a solver enumerable and snapshot-able as part of an it.unibo.tuprolog.solve.ExecutionContext.
Every mutator (set, plus, minus) returns a new FlagStore rather than changing this one in place. Flags can be addressed either by plain String name, or by a NotableFlag (a typed, ISO-standard or implementation-defined flag such as Unknown or DoubleQuotes), which additionally validates the assigned value against NotableFlag.admissibleValues.
See also
Properties
Functions
Looks up the value of notableFlag by its NotableFlag.name, or null if unset.
Returns a copy of this store with notableFlagValue set to its NotableFlag.defaultValue.
Returns a copy of this store with the flag named flagValue's first component set to its second component.
Returns a copy of this store with every entry of flags set (added, or overriding existing ones).
Same as set, as a regularly-named method rather than an operator.
Returns a copy of this store with notableFlag set to its NotableFlag.defaultValue.
Returns a copy of this store with notableFlag set to value.