openpql_range_parser/checker/
mod.rs

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