use crate::{MathElement, MathIdentifier, MathML};
use std::{
collections::BTreeMap,
fmt::{Debug, Display, Formatter},
};
mod constructors;
mod display;
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct MathRoot {
children: Vec<MathML>,
attributes: BTreeMap<String, String>,
}
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct MathFunction {
name: String,
body: Vec<MathML>,
}
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct MathRow {
grouped: bool,
children: Vec<MathML>,
}
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct MathPhantom {
inner: MathML,
}
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct MathStyle {
base: MathML,
attributes: BTreeMap<String, String>,
}
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct MathTable {
stream: Vec<MathML>,
attributes: BTreeMap<String, String>,
}