[−][src]Struct version_operators::Version
Implementations
impl Version
[src]
pub fn new(vector: Vec<u64>) -> Self
[src]
Create new instance from vector
Example
use version_operators::Version; let vector = vec![1, 14, 3]; let version = Version::new(vector.clone()); assert_eq!(version.to_vector(), vector);
pub fn from_split_callback<F>(input: &str, callback: F) -> Self where
F: Fn(char) -> bool,
[src]
F: Fn(char) -> bool,
Create new instance using a custom spliter callback function or closure
Example with Closure
use version_operators::Version; let version = Version::from_split_callback("1.14.3", |c: char| !c.is_numeric()); assert_eq!(version.to_vector(), vec![1, 14, 3]);
Example with Function
use version_operators::Version; fn custom_spliter(c: char) -> bool { !c.is_numeric() } let version = Version::from_split_callback("1.14.3", &custom_spliter); assert_eq!(version.to_vector(), vec![1, 14, 3]);
pub fn from_str(input: &str) -> Self
[src]
Convert &str
to vector of unsigned-integers
Example
use version_operators::Version; let version = Version::from_str("1.14.3"); assert_eq!(version.to_vector(), vec![1, 14, 3]);
pub fn from_vec(vector: Vec<u64>) -> Self
[src]
Save vector of unsigned-integers to new instance of Version
Example
use version_operators::Version; let vector = vec![1, 14, 3]; let version = Version::from_vec(vector.clone()); assert_eq!(version.to_vector(), vector);
pub fn to_vector(self) -> Vec<u64>
[src]
Passes ownership of vector within Version instance
Example
use version_operators::Version; let version = Version::from_str("1.14.3"); assert_eq!(version.to_vector(), vec![1, 14, 3]);
Trait Implementations
impl Add<Version> for Version
[src]
Implement addition (+
) operator
type Output = Self
The resulting type after applying the +
operator.
pub fn add(self, other: Self) -> Self
[src]
Example
use version_operators::Version; let version_one = Version::from_str("1.14.3"); let version_two = Version::from_str("1.14.2"); let version_new = version_one + version_two; assert!(version_new.to_vector() == vec![2, 28, 5]);
impl AddAssign<Version> for Version
[src]
Implement add assignment (+=
) operator
pub fn add_assign(&mut self, other: Self)
[src]
Example
use version_operators::Version; let mut version_one = Version::from_str("1.14.3"); let version_two = Version::from_str("1.14.2"); version_one += version_two; assert!(version_one.to_vector() == vec![2, 28, 5]);
impl Clone for Version
[src]
impl Debug for Version
[src]
impl Eq for Version
[src]
See: PartialEq
implementation
impl Ord for Version
[src]
Implement greater/less-than (<
, >
) and operators
pub fn cmp(&self, other: &Self) -> Ordering
[src]
Example Greater Than
use version_operators::Version; let version_one = Version::from_str("1.14.3"); let version_two = Version::from_str("1.14.2"); assert!(version_one > version_two); assert_eq!(version_two > version_one, false);
Example Less Than
use version_operators::Version; let version_one = Version::from_str("1.14.3"); let version_two = Version::from_str("1.14"); assert!(version_two < version_one); assert_eq!(version_one < version_two, false);
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<Version> for Version
[src]
Implement equal/not-equal (==
, !=
) operators
pub fn eq(&self, other: &Self) -> bool
[src]
Example Equality
use version_operators::Version; let version_one = Version::from_str("1.14.3"); let version_two = Version::from_str("1.14.3"); assert!(version_one == version_two); assert_eq!(version_one, version_two);
Example Inequality
use version_operators::Version; let version_one = Version::from_str("1.14"); let version_two = Version::from_str("1.14.2"); assert!(version_one != version_two); assert_ne!(version_one, version_two);
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<Version> for Version
[src]
pub fn partial_cmp(&self, other: &Self) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl Sub<Version> for Version
[src]
Implement subtraction (-
) operator
type Output = Self
The resulting type after applying the -
operator.
pub fn sub(self, other: Self) -> Self
[src]
Example
use version_operators::Version; let version_one = Version::from_str("1.14.3"); let version_two = Version::from_str("1.14.2"); let version_new = version_one - version_two; assert!(version_new.to_vector() == vec![0, 0, 1]);
impl SubAssign<Version> for Version
[src]
Implement subtract assignment (-=
) operator
pub fn sub_assign(&mut self, other: Self)
[src]
Example
use version_operators::Version; let mut version = Version::from_str("1.14.3"); version -= Version::from_str("1.14.2"); assert!(version.to_vector() == vec![0, 0, 1]);
Auto Trait Implementations
impl RefUnwindSafe for Version
[src]
impl Send for Version
[src]
impl Sync for Version
[src]
impl Unpin for Version
[src]
impl UnwindSafe for Version
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,