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}