Skip to main content

int_intervals/
lib.rs

1#![no_std]
2#[cfg(any(feature = "set", feature = "stack"))]
3extern crate alloc;
4#[cfg(test)]
5extern crate std;
6
7pub mod interval;
8
9#[cfg(feature = "set")]
10pub mod set;
11
12#[cfg(feature = "stack")]
13pub mod stack;
14
15// Re-export interval types at crate root for convenience.
16pub use interval::traits::{IntCO, IntPrimitive, UnsignedPrimitive};
17pub use interval::{EmptyRangeError, OneTwo, ZeroOneTwo};
18pub use interval::{
19    I8CO, I16CO, I32CO, I64CO, I128CO, IsizeCO, U8CO, U16CO, U32CO, U64CO, U128CO, UsizeCO,
20};
21
22#[cfg(feature = "set")]
23pub use set::IntCOSet;
24
25#[cfg(feature = "set")]
26pub type I8COSet = IntCOSet<I8CO>;
27#[cfg(feature = "set")]
28pub type I16COSet = IntCOSet<I16CO>;
29#[cfg(feature = "set")]
30pub type I32COSet = IntCOSet<I32CO>;
31#[cfg(feature = "set")]
32pub type I64COSet = IntCOSet<I64CO>;
33#[cfg(feature = "set")]
34pub type I128COSet = IntCOSet<I128CO>;
35#[cfg(feature = "set")]
36pub type IsizeCOSet = IntCOSet<IsizeCO>;
37#[cfg(feature = "set")]
38pub type U8COSet = IntCOSet<U8CO>;
39#[cfg(feature = "set")]
40pub type U16COSet = IntCOSet<U16CO>;
41#[cfg(feature = "set")]
42pub type U32COSet = IntCOSet<U32CO>;
43#[cfg(feature = "set")]
44pub type U64COSet = IntCOSet<U64CO>;
45#[cfg(feature = "set")]
46pub type U128COSet = IntCOSet<U128CO>;
47#[cfg(feature = "set")]
48pub type UsizeCOSet = IntCOSet<UsizeCO>;
49
50#[cfg(feature = "stack")]
51pub use stack::{ChangePoint, HeightRun, HeightSegment, HeightStats, IntCOStack, StackWindow};
52
53#[cfg(feature = "stack")]
54pub type I8COStack = IntCOStack<I8CO>;
55#[cfg(feature = "stack")]
56pub type I16COStack = IntCOStack<I16CO>;
57#[cfg(feature = "stack")]
58pub type I32COStack = IntCOStack<I32CO>;
59#[cfg(feature = "stack")]
60pub type I64COStack = IntCOStack<I64CO>;
61#[cfg(feature = "stack")]
62pub type I128COStack = IntCOStack<I128CO>;
63#[cfg(feature = "stack")]
64pub type IsizeCOStack = IntCOStack<IsizeCO>;
65#[cfg(feature = "stack")]
66pub type U8COStack = IntCOStack<U8CO>;
67#[cfg(feature = "stack")]
68pub type U16COStack = IntCOStack<U16CO>;
69#[cfg(feature = "stack")]
70pub type U32COStack = IntCOStack<U32CO>;
71#[cfg(feature = "stack")]
72pub type U64COStack = IntCOStack<U64CO>;
73#[cfg(feature = "stack")]
74pub type U128COStack = IntCOStack<U128CO>;
75#[cfg(feature = "stack")]
76pub type UsizeCOStack = IntCOStack<UsizeCO>;