LotSizingDataModel.Instance
2.0.1
Lot-sizing instance representation, descriptors and problem characterization.
Loading...
Searching...
No Matches
LotSizingProblemClassAliasResolution.cs
Go to the documentation of this file.
1
namespace
LotSizingDataModel.Instance.ProblemClasses
;
2
3
/// <summary>
4
/// Result of resolving a literature/project acronym or canonical code.
5
/// </summary>
6
public
sealed
class
LotSizingProblemClassAliasResolution
7
{
8
internal
LotSizingProblemClassAliasResolution
(
9
string
query,
10
IEnumerable<LotSizingProblemClassDefinition> matches)
11
{
12
Query
= query;
13
14
Matches
=
15
matches
16
.DistinctBy(definition => definition.Id)
17
.OrderBy(definition => definition.Code, StringComparer.Ordinal)
18
.ToArray();
19
20
Kind
=
21
Matches.Count
switch
22
{
23
0 =>
LotSizingProblemClassAliasResolutionKind
.Unknown,
24
1 =>
LotSizingProblemClassAliasResolutionKind
.Unique,
25
_ =>
LotSizingProblemClassAliasResolutionKind.Ambiguous
26
};
27
}
28
29
public
string
Query
{
get
; }
30
public
LotSizingProblemClassAliasResolutionKind
Kind
{
get
; }
31
public
IReadOnlyList<LotSizingProblemClassDefinition>
Matches
{
get
; }
32
33
public
LotSizingProblemClassDefinition
?
UniqueMatch
=>
34
Kind
==
LotSizingProblemClassAliasResolutionKind.Unique
35
?
Matches
[0]
36
:
null
;
37
}
LotSizingDataModel.Instance.ProblemClasses.LotSizingProblemClassAliasResolution.LotSizingProblemClassAliasResolution
LotSizingProblemClassAliasResolution(string query, IEnumerable< LotSizingProblemClassDefinition > matches)
Definition
LotSizingProblemClassAliasResolution.cs:8
LotSizingDataModel.Instance.ProblemClasses.LotSizingProblemClassAliasResolution.UniqueMatch
LotSizingProblemClassDefinition? UniqueMatch
Definition
LotSizingProblemClassAliasResolution.cs:33
LotSizingDataModel.Instance.ProblemClasses.LotSizingProblemClassAliasResolution.Matches
IReadOnlyList< LotSizingProblemClassDefinition > Matches
Definition
LotSizingProblemClassAliasResolution.cs:31
LotSizingDataModel.Instance.ProblemClasses.LotSizingProblemClassAliasResolution.Query
string Query
Definition
LotSizingProblemClassAliasResolution.cs:29
LotSizingDataModel.Instance.ProblemClasses.LotSizingProblemClassAliasResolution.Kind
LotSizingProblemClassAliasResolutionKind Kind
Definition
LotSizingProblemClassAliasResolution.cs:30
LotSizingDataModel.Instance.ProblemClasses.LotSizingProblemClassDefinition
One canonical scientific problem-class definition.
Definition
LotSizingProblemClassDefinition.cs:10
LotSizingDataModel.Instance.ProblemClasses
Definition
CanonicalLotSizingProblemClassId.cs:1
LotSizingDataModel.Instance.ProblemClasses.LotSizingProblemClassAliasResolutionKind
LotSizingProblemClassAliasResolutionKind
Definition
LotSizingProblemClassAliasResolutionKind.cs:4
LotSizingDataModel.Instance.ProblemClasses.LotSizingProblemClassAliasResolutionKind.Ambiguous
@ Ambiguous
Definition
LotSizingProblemClassAliasResolutionKind.cs:7
LotSizingDataModel.Instance.ProblemClasses.LotSizingProblemClassAliasResolutionKind.Unique
@ Unique
Definition
LotSizingProblemClassAliasResolutionKind.cs:6
LotSizingDataModel.Instance
ProblemClasses
LotSizingProblemClassAliasResolution.cs
Generated by
1.17.0