[][src]Struct version_operators::Version

pub struct Version { /* fields omitted */ }

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]

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);

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);

impl PartialOrd<Version> for Version[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

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.