penumbra_sdk_tct/internal/complete/node/children/
shape.rs

1//! Every possible shape of a non-empty quad-tree node, enumerated as 15 distinct structs.
2
3#![allow(non_camel_case_types, clippy::upper_case_acronyms)]
4
5use crate::prelude::*;
6
7/// Children of a node having children in the positions: 3.
8#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
9pub struct ___C<Child>(pub Hash, pub Hash, pub Hash, pub Child);
10
11/// Children of a node having children in the positions: 2.
12#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
13pub struct __C_<Child>(pub Hash, pub Hash, pub Child, pub Hash);
14
15/// Children of a node having children in the positions: 2, 3.
16#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
17pub struct __CC<Child>(pub Hash, pub Hash, pub Child, pub Child);
18
19/// Children of a node having children in the positions: 1.
20#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
21pub struct _C__<Child>(pub Hash, pub Child, pub Hash, pub Hash);
22
23/// Children of a node having children in the positions: 1, 3.
24#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
25pub struct _C_C<Child>(pub Hash, pub Child, pub Hash, pub Child);
26
27/// Children of a node having children in the positions: 1, 2.
28#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
29pub struct _CC_<Child>(pub Hash, pub Child, pub Child, pub Hash);
30
31/// Children of a node having children in the positions: 1, 2, 3.
32#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
33pub struct _CCC<Child>(pub Hash, pub Child, pub Child, pub Child);
34
35/// Children of a node having children in the positions: 0.
36#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
37pub struct C___<Child>(pub Child, pub Hash, pub Hash, pub Hash);
38
39/// Children of a node having children in the positions: 0, 3.
40#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
41pub struct C__C<Child>(pub Child, pub Hash, pub Hash, pub Child);
42
43/// Children of a node having children in the positions: 0, 2.
44#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
45pub struct C_C_<Child>(pub Child, pub Hash, pub Child, pub Hash);
46
47/// Children of a node having children in the positions: 0, 2, 3.
48#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
49pub struct C_CC<Child>(pub Child, pub Hash, pub Child, pub Child);
50
51/// Children of a node having children in the positions: 0, 1.
52#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
53pub struct CC__<Child>(pub Child, pub Child, pub Hash, pub Hash);
54
55/// Children of a node having children in the positions: 0, 1, 3.
56#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
57pub struct CC_C<Child>(pub Child, pub Child, pub Hash, pub Child);
58
59/// Children of a node having children in the positions: 0, 1, 2.
60#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
61pub struct CCC_<Child>(pub Child, pub Child, pub Child, pub Hash);
62
63/// Children of a node having children in the positions: 0, 1, 2, 3.
64#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
65pub struct CCCC<Child>(pub Child, pub Child, pub Child, pub Child);