use super::nodes::NodeError;
use crate::traits::MonopartiteGraph;
#[cfg(feature = "alloc")]
pub mod algorithms;
#[cfg(feature = "alloc")]
pub use algorithms::MonopartiteAlgorithmError;
pub mod illegal_graph_states;
pub use illegal_graph_states::IllegalMonopartiteGraphState;
#[derive(Debug, thiserror::Error)]
pub enum MonopartiteError<G: MonopartiteGraph + ?Sized> {
#[error(transparent)]
IllegalGraphState(#[from] IllegalMonopartiteGraphState<G>),
#[error(transparent)]
NodeError(NodeError<G::Nodes>),
#[cfg(feature = "alloc")]
#[error(transparent)]
AlgorithmError(#[from] MonopartiteAlgorithmError),
}