Table of Contents

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 Requirements

The requirements.

CandidateProvider ISelectionCandidateProvider

Generates SelectionCandidates for the Requirements.

Importance Importance

Describes 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

ISelectionCandidateProvider

Candidates

All candidates for the Requirements, including those that are not suitable.

public IReadOnlyList<SelectionCandidate> Candidates { get; }

Property Value

IReadOnlyList<SelectionCandidate>

Importance

Describes how important the demand is (i.e. whether ignoring it is an option).

public Importance Importance { get; init; }

Property Value

Importance

Requirements

The requirements.

public Requirements Requirements { get; init; }

Property Value

Requirements

Methods

CandidatesCompatibleWith(Selections)

Gets all SelectionCandidates that are compatible with the specified selections.

public IEnumerable<SelectionCandidate> CandidatesCompatibleWith(Selections selections)

Parameters

selections Selections

Returns

IEnumerable<SelectionCandidate>