pub struct EdgeCrossOptimizer<'a> { /* private fields */ }
Expand description
This optimizations changes the order of nodes within a rank (ordering along the x-axis). The transformation tries to reduce the number of edges that cross each other.
Implementations§
Source§impl<'a> EdgeCrossOptimizer<'a>
impl<'a> EdgeCrossOptimizer<'a>
pub fn new(dag: &'a mut DAG) -> Self
pub fn perturb_rank(&mut self)
pub fn rotate_rank(&mut self)
pub fn optimize(&mut self)
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for EdgeCrossOptimizer<'a>
impl<'a> RefUnwindSafe for EdgeCrossOptimizer<'a>
impl<'a> Send for EdgeCrossOptimizer<'a>
impl<'a> Sync for EdgeCrossOptimizer<'a>
impl<'a> Unpin for EdgeCrossOptimizer<'a>
impl<'a> !UnwindSafe for EdgeCrossOptimizer<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more