rust_rule_engine/rete/beta.rs
1//! BetaNode: joins multiple AlphaMemory
2
3use super::memory::AlphaMemory;
4
5#[derive(Debug, Clone)]
6pub struct BetaNode {
7 pub left: AlphaMemory,
8 pub right: AlphaMemory,
9}
10
11impl BetaNode {
12 pub fn join(&self) -> Vec<((String, String), (String, String))> {
13 let mut result = Vec::new();
14 for l in &self.left.matches {
15 for r in &self.right.matches {
16 result.push((l.clone(), r.clone()));
17 }
18 }
19 result
20 }
21}