use super::{BipartiteGraphBuilder, MonoplexGraphBuilder};
use crate::traits::MonoplexBipartiteGraph;
pub trait MonoplexBipartiteGraphBuilder:
MonoplexGraphBuilder<
MonoplexGraph = <Self as MonoplexBipartiteGraphBuilder>::MonoplexBipartiteGraph,
> + BipartiteGraphBuilder<
BipartiteGraph = <Self as MonoplexBipartiteGraphBuilder>::MonoplexBipartiteGraph,
>
{
type MonoplexBipartiteGraph: MonoplexBipartiteGraph;
}
impl<B> MonoplexBipartiteGraphBuilder for B
where
B: MonoplexGraphBuilder
+ BipartiteGraphBuilder<BipartiteGraph = <B as MonoplexGraphBuilder>::MonoplexGraph>,
B::MonoplexGraph: MonoplexBipartiteGraph,
B::BipartiteGraph: MonoplexBipartiteGraph,
{
type MonoplexBipartiteGraph = B::MonoplexGraph;
}