LotSizingDataModel.Instance 2.0.1
Lot-sizing instance representation, descriptors and problem characterization.
Loading...
Searching...
No Matches
UniversalNotationMatchResult.cs
Go to the documentation of this file.
2
3/// <summary>
4/// Represents the complete result of matching a typed descriptor against
5/// a universal problem specification.
6/// </summary>
7public sealed class UniversalNotationMatchResult
8{
12 string generatedCanonicalNotation,
13 IEnumerable<UniversalNotationMatchIssue> issues)
14 {
15 Kind = kind;
16
18 specification ??
19 throw new ArgumentNullException(nameof(specification));
20
22 generatedCanonicalNotation ??
23 throw new ArgumentNullException(
24 nameof(generatedCanonicalNotation));
25
26 Issues =
27 (issues ??
28 throw new ArgumentNullException(nameof(issues)))
29 .ToArray();
30 }
31
34
35 /// <summary>
36 /// Gets the complete canonical notation generated from the descriptor.
37 /// </summary>
38 public string GeneratedCanonicalNotation { get; }
39
40 public IReadOnlyList<UniversalNotationMatchIssue> Issues { get; }
41
42 public bool IsExact =>
44
45 public bool IsCompatible =>
46 Kind is
49
50 public bool HasContradiction =>
51 Kind == UniversalNotationMatchKind.Contradiction;
52
54 Kind == UniversalNotationMatchKind.Incomplete;
55}
UniversalNotationMatchResult(UniversalNotationMatchKind kind, UniversalProblemSpecification specification, string generatedCanonicalNotation, IEnumerable< UniversalNotationMatchIssue > issues)
string GeneratedCanonicalNotation
Gets the complete canonical notation generated from the descriptor.
Represents a universal notation interpreted as a problem specification.
UniversalNotationMatchKind
Describes the semantic relationship between an instance descriptor and a universal-notation problem s...
@ Exact
The specification is the exact canonical notation generated from the descriptor.