Arbiter
Dependency manager library that supports decentralization
|
A requirement satisfied only by one particular semantic version. More...
Public Member Functions | |
Exactly (ArbiterSemanticVersion version) noexcept | |
std::unique_ptr< Base > | clone () const override |
std::unique_ptr< ArbiterRequirement > | cloneRequirement () const |
std::ostream & | describe (std::ostream &os) const override |
size_t | hash () const noexcept override |
std::unique_ptr< ArbiterRequirement > | intersect (const ArbiterRequirement &rhs) const override |
Attempts to create a requirement which expresses the intersection of this requirement and the given one. More... | |
bool | operator!= (const Base &other) const |
bool | operator== (const Arbiter::Base &other) const override |
virtual int | priority () const noexcept |
Returns the priority of this requirement. More... | |
bool | satisfiedBy (const ArbiterSelectedVersion &selectedVersion) const override |
Returns whether this requirement would be satisfied by using the given selected version. More... | |
bool | satisfiedBy (const ArbiterSemanticVersion &version) const noexcept |
virtual void | visit (Arbiter::Requirement::Visitor &visitor) const |
Visits the requirement, then any child requirements. More... | |
Public Attributes | |
ArbiterSemanticVersion | _version |
A requirement satisfied only by one particular semantic version.
Definition at line 187 of file Requirement.h.
|
explicitnoexcept |
Definition at line 192 of file Requirement.h.
|
overridevirtual |
Implements Arbiter::Base.
Definition at line 205 of file Requirement.h.
|
inherited |
|
overridevirtual |
Implements Arbiter::Base.
|
overridevirtualnoexcept |
Implements ArbiterRequirement.
|
overridevirtual |
Attempts to create a requirement which expresses the intersection of this requirement and the given one.
In other words, this attempts to find the loosest possible requirement which is a superset of the two inputs. Any version which passes the intersected requirement would also pass either one of the original inputs.
Returns nullptr
if no intersection is possible.
Implements ArbiterRequirement.
|
inherited |
|
overridevirtual |
Implements Arbiter::Base.
|
virtualnoexceptinherited |
Returns the priority of this requirement.
Reimplemented in Arbiter::Requirement::Prioritized, and Arbiter::Requirement::Compound.
Definition at line 36 of file Requirement.h.
|
overridevirtual |
Returns whether this requirement would be satisfied by using the given selected version.
Implements ArbiterRequirement.
Definition at line 196 of file Requirement.h.
|
noexcept |
|
virtualinherited |
Visits the requirement, then any child requirements.
The default implementation simply visits this requirement.
Reimplemented in Arbiter::Requirement::Prioritized, and Arbiter::Requirement::Compound.
ArbiterSemanticVersion Arbiter::Requirement::Exactly::_version |
Definition at line 190 of file Requirement.h.