pub struct VersionRange {
pub range_str: String,
/* private fields */
}Expand description
Version range representation - a disjunction of BoundSets (union of intersections)
Fields§
§range_str: StringCached string representation
Implementations§
Source§impl VersionRange
impl VersionRange
Sourcepub fn new(range_str: String) -> Result<Self, RezCoreError>
pub fn new(range_str: String) -> Result<Self, RezCoreError>
Create a new version range from a string
Sourcepub fn parse(range_str: &str) -> Result<Self, RezCoreError>
pub fn parse(range_str: &str) -> Result<Self, RezCoreError>
Parse a version range string
Supported formats:
""or"*"- any version">=1.0"- single constraint">=1.0,<2.0"- comma-separated AND constraints (rez style)">=1.0 <2.0"- space-separated AND constraints"1.0+"- rez shorthand for>=1.0"<1.0|>=2.0"- pipe-separated OR constraints"==1.0"- exact version"~=1.4"- compatible release
Sourcepub fn intersects(&self, other: &VersionRange) -> bool
pub fn intersects(&self, other: &VersionRange) -> bool
Check if this range intersects with another range
Sourcepub fn intersect(&self, other: &VersionRange) -> Option<VersionRange>
pub fn intersect(&self, other: &VersionRange) -> Option<VersionRange>
Compute the intersection of two ranges
Sourcepub fn union(&self, other: &VersionRange) -> VersionRange
pub fn union(&self, other: &VersionRange) -> VersionRange
Compute the union of two ranges (pipe-separated)
Sourcepub fn subtract(&self, other: &VersionRange) -> Option<VersionRange>
pub fn subtract(&self, other: &VersionRange) -> Option<VersionRange>
Compute the difference of two ranges: versions in self but not in other Returns None if the result would be empty
Sourcepub fn is_subset_of(&self, other: &VersionRange) -> bool
pub fn is_subset_of(&self, other: &VersionRange) -> bool
Check if this range is a subset of another range (every version in self is also in other)
Sourcepub fn is_superset_of(&self, other: &VersionRange) -> bool
pub fn is_superset_of(&self, other: &VersionRange) -> bool
Check if this range is a superset of another range
Trait Implementations§
Source§impl Clone for VersionRange
impl Clone for VersionRange
Source§fn clone(&self) -> VersionRange
fn clone(&self) -> VersionRange
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for VersionRange
impl Debug for VersionRange
Source§impl<'de> Deserialize<'de> for VersionRange
impl<'de> Deserialize<'de> for VersionRange
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for VersionRange
impl PartialEq for VersionRange
Source§impl Serialize for VersionRange
impl Serialize for VersionRange
impl Eq for VersionRange
impl StructuralPartialEq for VersionRange
Auto Trait Implementations§
impl Freeze for VersionRange
impl RefUnwindSafe for VersionRange
impl Send for VersionRange
impl Sync for VersionRange
impl Unpin for VersionRange
impl UnsafeUnpin for VersionRange
impl UnwindSafe for VersionRange
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.