pub struct Relation {
pub name: String,
pub archqual: Option<String>,
pub architectures: Option<Vec<String>>,
pub version: Option<(VersionConstraint, Version)>,
pub profiles: Vec<Vec<BuildProfile>>,
}
Expand description
A relation entry in a relationship field.
Fields§
§name: String
Package name.
archqual: Option<String>
Architecture qualifier.
architectures: Option<Vec<String>>
Architectures that this relation is only valid for.
version: Option<(VersionConstraint, Version)>
Version constraint and version.
profiles: Vec<Vec<BuildProfile>>
Build profiles that this relation is only valid for.
Implementations§
Source§impl Relation
impl Relation
Sourcepub fn build(name: &str) -> RelationBuilder
pub fn build(name: &str) -> RelationBuilder
Build a new relation
Sourcepub fn satisfied_by(&self, package_version: impl VersionLookup) -> bool
pub fn satisfied_by(&self, package_version: impl VersionLookup) -> bool
Check if this entry is satisfied by the given package versions.
§Arguments
package_version
- A function that returns the version of a package.
§Example
use debian_control::lossy::Relation;
let entry: Relation = "samba (>= 2.0)".parse().unwrap();
assert!(entry.satisfied_by(|name: &str| -> Option<debversion::Version> {
match name {
"samba" => Some("2.0".parse().unwrap()),
_ => None
}}));
Trait Implementations§
Source§impl FromIterator<Relation> for Relations
impl FromIterator<Relation> for Relations
impl Eq for Relation
impl StructuralPartialEq for Relation
Auto Trait Implementations§
impl Freeze for Relation
impl RefUnwindSafe for Relation
impl Send for Relation
impl Sync for Relation
impl Unpin for Relation
impl UnwindSafe for Relation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more