range_ranger

Crates.iorange_ranger
lib.rsrange_ranger
version0.1.1
sourcesrc
created_at2022-12-04 15:51:24.907552
updated_at2022-12-04 16:20:27.991438
descriptionA range library
homepage
repository
max_upload_size
id729639
size124,287
Julien Roncaglia (vbfox)

documentation

README

Range ranger

Build

This library is a WORK IN PROGRESS experiment into rust APIs for me

Range ranger is a range manipulation library supporting multiple type of ranges under a single type:

  • Empty
  • Continuous (containing all values between min and max)
    • Bounds can be inclusive or exclusive
    • Bounds can be finite or infinite
  • Full ranges
  • List of values
  • Single value
  • Composite ranges (Union of multiple of theses)

With support for the following operations:

  • Union
  • Intersection
  • Difference
  • Contains range
  • Contains value
  • Overlaps
  • Simplification

The range type is an enum of all the possible range subtypes. The default behaviour for ranges constructed via methods is to be simplified and sorted but non-simplified ranges can be constructed by creating the enum members directly.

Running coverage

# Requirements
cargo install grcov to install
rustup component add llvm-tools-preview

# Running
./coverage.ps1

See also

Commit count: 0

cargo fmt