sigma_types/
lib.rs

1//! Types that maintain a given invariant.
2
3#![cfg_attr(not(feature = "std"), no_std)]
4
5mod all;
6mod all_pairs;
7
8#[cfg(all(not(feature = "std"), any(test, feature = "quickcheck")))]
9extern crate alloc;
10
11mod finite;
12mod invariant;
13mod less_than;
14mod negative;
15mod non_negative;
16mod non_positive;
17mod non_zero;
18mod on_unit;
19
20#[cfg(not(feature = "malachite"))]
21mod one;
22
23mod positive;
24mod sigma;
25mod sorted;
26
27#[cfg(test)]
28mod test;
29
30#[cfg(not(feature = "malachite"))]
31mod zero;
32
33pub use {
34    all::{All, NotAll},
35    all_pairs::{AllPairs, NotAllPairs},
36    finite::{CanBeInfinite, Finite, FiniteInvariant, NotFinite},
37    invariant::Test,
38    less_than::{i8, i16, i32, i64, i128, isize, u8, u16, u32, u64, u128, usize},
39    negative::{Negative, NegativeInvariant, NotNegative},
40    non_negative::{NonNegative, NonNegativeInvariant, NotNonNegative},
41    non_positive::{NonPositive, NonPositiveInvariant, NotNonPositive},
42    non_zero::{NonZero, NonZeroInvariant, NotNonZero},
43    on_unit::{NotOnUnit, OnUnit, OnUnitInvariant},
44    positive::{NotPositive, Positive, PositiveInvariant},
45    sigma::Sigma,
46    sorted::{OutOfOrder, Sorted, SortedInvariant, SortedPair},
47};
48
49#[cfg(feature = "malachite")]
50pub use malachite_base::num::basic::traits::{One, Zero};
51
52#[cfg(not(feature = "malachite"))]
53pub use {one::One, zero::Zero};