openpql_range_parser/checker/
mod.rs1type IdxVec<const N: usize> = SmallVec<[Idx; N]>;
2type RankDiff = i8;
3
4use super::{
5 Array, Card, Card64, Error, From, Idx, Itertools, LazyLock, LocInfo, PhantomData, Rank, Rank16,
6 SmallVec, Suit, Suit4, ast,
7 ast::{List, ListElem, RangeCard, RankVar, Span, SpanElem, SuitVar, Term, TermElem},
8 ops, parse_expr,
9};
10
11pub type BoardRangeChecker<const SD: bool> = Checker<5, true, SD>;
13pub type RangeChecker<const N: usize, const SD: bool> = Checker<N, false, SD>;
15
16#[allow(clippy::module_inception)]
17mod checker;
18mod constrain;
19mod constrain_rank;
20mod constrain_suit;
21mod expr;
22mod leaf;
23mod perm_indices;
24mod var_condition;
25mod var_condition_rank;
26mod var_condition_suit;
27
28pub use checker::Checker;
29use constrain::Constrain;
30use constrain_rank::ConstrainRank;
31use constrain_suit::ConstrainSuit;
32use expr::Expr;
33use leaf::{Deps, Leaf};
34use perm_indices::range_cond_indices;
35use var_condition::VarCondition;
36use var_condition_rank::VarConditionRank;
37use var_condition_suit::VarConditionSuit;