Crate ranged_num

Source
Expand description

ranged-num is a crate for representing a single number that is in some compile-time known range of values. You can use any underlying numeric type to hold the actual value. The main type to look at is Ranged.

Example:

use typenum::{N2, P3, P4};
use ranged_num::Ranged;

let ranged = Ranged::<N2, P4, isize>::new::<P3>();
assert_eq!(ranged.value(), 3);

Modules§

  • These are used by a macro. In order for them to be accessible to the macro I re-exported them. If you know of a better way to do this, let me know.

Macros§

Structs§

  • Holds a single value between Min and Max. That value is stored in a single variable of type Underlying.

Traits§

  • typenum doesn’t currently allow you to easily add an Integer with an Unsigned. The AddU trait lets you add some Unsigned to both Integers and Unsigneds.
  • typenum doesn’t currently allow you to easily specify any numbers (signed or unsigned) that can be converted to a given type. I’ve added CanMake<V> as a trait to indicate which types can easily make a runtime value of type V to use in type bounds.

Type Aliases§

  • Represent a usize in [0, Max] (inclusive).