mod algebra;
mod environment;
pub(crate) mod parse;
mod simplify;
mod tree;
pub use environment::{MarkerEnvironment, MarkerEnvironmentBuilder};
pub use tree::{
ContainsMarkerTree, ExtraMarkerTree, ExtraOperator, InMarkerTree, MarkerExpression,
MarkerOperator, MarkerTree, MarkerTreeContents, MarkerTreeDebugGraph, MarkerTreeKind,
MarkerValue, MarkerValueExtra, MarkerValueString, MarkerValueVersion, MarkerWarningKind,
StringMarkerTree, StringVersion, VersionMarkerTree,
};
pub mod ser {
use super::MarkerTree;
use serde::Serialize;
pub fn is_empty(marker: &MarkerTree) -> bool {
marker.contents().is_none()
}
pub fn serialize<S>(marker: &MarkerTree, s: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
marker.contents().unwrap().serialize(s)
}
}