use super::{MonopartiteGraphBuilder, MonoplexGraphBuilder};
use crate::traits::MonoplexMonopartiteGraph;
pub trait MonoplexMonopartiteGraphBuilder:
MonoplexGraphBuilder<
MonoplexGraph = <Self as MonoplexMonopartiteGraphBuilder>::MonoplexMonopartiteGraph,
> + MonopartiteGraphBuilder<
MonopartiteGraph = <Self as MonoplexMonopartiteGraphBuilder>::MonoplexMonopartiteGraph,
>
{
type MonoplexMonopartiteGraph: MonoplexMonopartiteGraph;
}
impl<B> MonoplexMonopartiteGraphBuilder for B
where
B: MonoplexGraphBuilder
+ MonopartiteGraphBuilder<MonopartiteGraph = <B as MonoplexGraphBuilder>::MonoplexGraph>,
B::MonoplexGraph: MonoplexMonopartiteGraph,
B::MonopartiteGraph: MonoplexMonopartiteGraph,
{
type MonoplexMonopartiteGraph = B::MonoplexGraph;
}