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
RequirementsRequirementsThe requirements.
CandidateProviderISelectionCandidateProviderGenerates SelectionCandidates for the
Requirements.ImportanceImportanceDescribes 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
selectionsSelections