[−][src]Crate dia_range
Dia-range
Ranges for all integers
Project
- Repository: https://bitbucket.org/haibison/dia-range
- License: Free Public License 1.0.0
- This project follows Semantic Versioning 2.0.0
Features
RangeType
andOps
traits are implemented for all integer primitive types. So you can useRange
on them.- Currently only
Range
is recommended for use. BothRangeType
andOps
traits are intended for internal use only. However they have to be available publicly forRange
to be valid. So their APIs look weird. It's not recommended to build things from them.
Examples
use dia_range::Range; // First type i16 is for indexes; second type (u16) is for estimating range size. // You can ignore second type, the compiler will figure it out. let mut range: Range<i16, _> = Range::new(50, 100); assert!(range.contains(&99)); assert!(range.expand(101)); assert!(range.expand(103) == false); assert!(range.contains(&101)); assert_eq!(range.estimate_size(), 52); // Merging assert_eq!(range.merge(&Range::new(100, 150)), Some(Range::new(50, 150)));
Structs
Range | Range |
RangeIter | Iterator for |
Constants
CODE_NAME | Crate code name |
NAME | Crate name |
RELEASE_DATE | Crate release date (year/month/day) |
TAG | Tag, which can be used for logging... |
UUID | Unique universally identifier of this crate |
VERSION | Crate version |
Traits
Ops | Deprecated Math operations |
RangeType | Deprecated Helper for |
Functions
merge | Merges ranges |