Class SolverDemand
- Namespace
- ZeroInstall.Services.Solvers
- Assembly
- ZeroInstall.Services.dll
A demand used by ISolvers internally. Wrapper for Requirements that holds SelectionCandidates.
public sealed record SolverDemand : IEquatable<SolverDemand>
- Inheritance
-
SolverDemand
- Implements
- Inherited Members
Constructors
SolverDemand(Requirements, ISelectionCandidateProvider, Importance)
A demand used by ISolvers internally. Wrapper for Requirements that holds SelectionCandidates.
public SolverDemand(Requirements Requirements, ISelectionCandidateProvider CandidateProvider, Importance Importance = Importance.Essential)
Parameters
Requirements
RequirementsThe requirements.
CandidateProvider
ISelectionCandidateProviderGenerates SelectionCandidates for the
Requirements
.Importance
ImportanceDescribes how important the demand is (i.e. whether ignoring it is an option).
Properties
CandidateProvider
Generates SelectionCandidates for the Requirements
.
public ISelectionCandidateProvider CandidateProvider { get; init; }
Property Value
Candidates
All candidates for the Requirements, including those that are not suitable.
public IReadOnlyList<SelectionCandidate> Candidates { get; }
Property Value
Importance
Describes how important the demand is (i.e. whether ignoring it is an option).
public Importance Importance { get; init; }
Property Value
Requirements
The requirements.
public Requirements Requirements { get; init; }
Property Value
Methods
CandidatesCompatibleWith(Selections)
Gets all SelectionCandidates that are compatible with the specified selections
.
public IEnumerable<SelectionCandidate> CandidatesCompatibleWith(Selections selections)
Parameters
selections
Selections