1use std::{
2 fmt,
3 hash::Hash,
4 iter, mem,
5 ops::{Index, Not},
6 slice,
7 str::FromStr,
8 vec::Vec,
9};
10
11use derive_more::{
12 BitAnd, BitAndAssign, BitOr, BitOrAssign, Display, From, Into,
13};
14
15use super::{
16 BitAnd, BitAndAssign, BitOr, BitOrAssign, PQLCardCount, ParseError,
17 constants::{
18 IDX_RIVER, IDX_TURN, MASK16_RANKS, MASK64_2, MASK64_ALL, N_CARDS,
19 N_FLOP, N_RANKS, N_SUITS, OFFSET_C, OFFSET_D, OFFSET_H, OFFSET_S,
20 OFFSET_SUIT, RANK_NAMES, SUIT_NAMES, U16_LEADING_ONE,
21 },
22 prim,
23};
24
25mod board;
26mod card;
27mod card64;
28mod card_iter;
29mod hand_iter;
30mod hand_n;
31mod isomorphic;
32mod rank;
33mod rank16;
34mod rank16_iter;
35mod rank_idx;
36mod suit;
37mod suit4;
38mod suit_idx;
39mod suit_mapping;
40
41pub use board::*;
42pub use card::*;
43pub use card_iter::*;
44pub use card64::*;
45pub use hand_iter::*;
46pub use hand_n::*;
47pub use isomorphic::*;
48pub use rank::*;
49pub use rank_idx::*;
50pub use rank16::*;
51pub use rank16_iter::*;
52pub use suit::*;
53pub use suit_idx::*;
54pub use suit_mapping::*;
55pub use suit4::*;
56
57pub type Hand = [Card];
58
59pub type CardCount = u8;