Enum version_compare::comp_op::CompOp [−][src]
pub enum CompOp {
Eq,
Ne,
Lt,
Le,
Ge,
Gt,
}
Expand description
Comparison operators.
Variants
Equal to. (==)
Not equal to. (!=)
Less than. (<)
Less than or equal to. (<=)
Greater than or equal to. (>=)
Greater than. (>)
Implementations
Get a comparison operator by it’s sign. Whitespaces are stripped from the sign string. An error is returned if the sign isn’t recognized.
The following signs are supported:
- ==:
Eq
- !=:
Ne
- <:
Lt
- <=:
Le
-
=:
Ge
-
:
Gt
Examples
use version_compare::comp_op::CompOp;
assert_eq!(CompOp::from_sign("=="), Ok(CompOp::Eq));
assert_eq!(CompOp::from_sign("<"), Ok(CompOp::Lt));
assert_eq!(CompOp::from_sign(" >= "), Ok(CompOp::Ge));
assert!(CompOp::from_sign("*").is_err());
Get a comparison operator by it’s name. Names are case-insensitive, and whitespaces are stripped from the string. An error is returned if the name isn’t recognized.
Examples
use version_compare::comp_op::CompOp;
assert_eq!(CompOp::from_name("eq"), Ok(CompOp::Eq));
assert_eq!(CompOp::from_name("lt"), Ok(CompOp::Lt));
assert_eq!(CompOp::from_name(" Ge "), Ok(CompOp::Ge));
assert!(CompOp::from_name("abc").is_err());
Get the name of this comparison operator.
Examples
use version_compare::comp_op::CompOp;
assert_eq!(CompOp::Eq.name(), "eq");
assert_eq!(CompOp::Lt.name(), "lt");
assert_eq!(CompOp::Ge.name(), "ge");
Covert to the inverted comparison operator.
This uses the following bidirectional rules:
- Eq <-> Ne
- Lt <-> Ge
- Le <-> Gt
Examples
use version_compare::comp_op::CompOp;
assert_eq!(CompOp::Eq.as_inverted(), CompOp::Ne);
assert_eq!(CompOp::Lt.as_inverted(), CompOp::Ge);
assert_eq!(CompOp::Gt.as_inverted(), CompOp::Le);
Get the inverted comparison operator.
This uses the following bidirectional rules:
- Eq <-> Ne
- Lt <-> Ge
- Le <-> Gt
Examples
use version_compare::comp_op::CompOp;
assert_eq!(CompOp::Eq.invert(), CompOp::Ne);
assert_eq!(CompOp::Lt.invert(), CompOp::Ge);
assert_eq!(CompOp::Gt.invert(), CompOp::Le);
Convert to the opposite comparison operator.
This uses the following bidirectional rules:
- Eq <-> Ne
- Lt <-> Gt
- Le <-> Ge
Examples
use version_compare::comp_op::CompOp;
assert_eq!(CompOp::Eq.as_opposite(), CompOp::Ne);
assert_eq!(CompOp::Lt.as_opposite(), CompOp::Gt);
assert_eq!(CompOp::Ge.as_opposite(), CompOp::Le);
Get the opposite comparison operator.
This uses the following bidirectional rules:
- Eq <-> Ne
- Lt <-> Gt
- Le <-> Ge
Examples
use version_compare::comp_op::CompOp;
assert_eq!(CompOp::Eq.opposite(), CompOp::Ne);
assert_eq!(CompOp::Lt.opposite(), CompOp::Gt);
assert_eq!(CompOp::Ge.opposite(), CompOp::Le);
Convert to the flipped comparison operator.
This uses the following bidirectional rules:
- Lt <-> Gt
- Le <-> Ge
- Other operators are returned as is.
Examples
use version_compare::comp_op::CompOp;
assert_eq!(CompOp::Eq.as_flipped(), CompOp::Eq);
assert_eq!(CompOp::Lt.as_flipped(), CompOp::Gt);
assert_eq!(CompOp::Ge.as_flipped(), CompOp::Le);
Get the flipped comparison operator.
This uses the following bidirectional rules:
- Lt <-> Gt
- Le <-> Ge
- Other operators are returned as is.
Examples
use version_compare::comp_op::CompOp;
assert_eq!(CompOp::Eq.flip(), CompOp::Eq);
assert_eq!(CompOp::Lt.flip(), CompOp::Gt);
assert_eq!(CompOp::Ge.flip(), CompOp::Le);
Get the sign for this comparison operator.
The following signs are returned:
- Eq:
==
- Ne:
!=
- Lt:
<
- Le:
<=
- Ge:
>=
- Gt:
>
Examples
use version_compare::comp_op::CompOp;
assert_eq!(CompOp::Eq.sign(), "==");
assert_eq!(CompOp::Lt.sign(), "<");
assert_eq!(CompOp::Ge.flip().sign(), "<=");
Get a factor (number) for this comparison operator. These factors can be useful for quick calculations.
The following factor numbers are returned:
- Eq | Ne:
0
- Lt | Le:
-1
- Gt | Ge:
1
Examples
use version_compare::version::Version;
let ver_a = Version::from("1.2.3").unwrap();
let ver_b = Version::from("1.3").unwrap();
assert_eq!(ver_a.compare(&ver_b).factor(), -1);
assert_eq!(10 * ver_b.compare(&ver_a).factor(), 10);
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for CompOp
impl UnwindSafe for CompOp
Blanket Implementations
Mutably borrows from an owned value. Read more