vercomp

A Rust library for comparing version. It supports some versioning styles(not only for X.Y.Z).

Example

example.rs

```rust use vercomp::{Stage, Version};

fn main() { // Version.number is the number of the version. It supports "==", "!=", ">=", ">", "<=" and "<". let version1 = Version::new("1.2.3"); let version2 = Version::new("1-2-3"); if version1.number == version2.number { println!("version1 equals version2."); } let version3 = Version::new("1/2/3"); let version4 = Version::new("1~2"); if version3.number > version4.number { println!("version3 is greater than version4."); } let version5 = Version::new("1:2"); let version6 = Version::new("1;2;3"); if version5.number < version6.number { println!("version5 is less than version6."); }

// Version.stage is the stage of the version. It only supports "==" and "!=".
let version_7 = Version::new("1.2.3-Alpha");
if version_7.stage == Stage::Alpha {
    println!("version_7 is an alpha version.");
}
let _version_8 = Version::new("1.2.3-Beta");
let _version_9 = Version::new("1.2.3");
// if _version_8 > _version_9 {
    // Compile error
    // Version.stage can not use ">=", ">", "<=" and "<".
// }
// "CASE INSENSITIVE"
// Stage::Alpha   <= Contain alpha 
// Stage::Beta    <= Contain beta
// Stage::Dev     <= Contain dev
// Stage::Nightly <= Contain nightly
// Stage::Rc      <= Contain rc
// Stage::Stable  <= others

} ```

License

This project is released under the GPL3. Check out the LICENSE file for more information.