Enum textwrap::core::WrapAlgorithm  
source · pub enum WrapAlgorithm {
    OptimalFit,
    FirstFit,
}Expand description
Wrapping algorithms.
After a text has been broken into Fragments, the one now has
to decide how to break the fragments into lines. The simplest
algorithm for this is implemented by wrap_first_fit: it uses
no look-ahead and simply adds fragments to the line as long as
they fit. However, this can lead to poor line breaks if a large
fragment almost-but-not-quite fits on a line. When that happens,
the fragment is moved to the next line and it will leave behind a
large gap. A more advanced algorithm, implemented by
wrap_optimal_fit, will take this into account. The optimal-fit
algorithm considers all possible line breaks and will attempt to
minimize the gaps left behind by overly short lines.
While both algorithms run in linear time, the first-fit algorithm is about 4 times faster than the optimal-fit algorithm.
Variants§
OptimalFit
Use an advanced algorithm which considers the entire paragraph
to find optimal line breaks. Implemented by
wrap_optimal_fit.
Note: Only available when the smawk Cargo feature is
enabled.
FirstFit
Use a fast and simple algorithm with no look-ahead to find
line breaks. Implemented by wrap_first_fit.
Trait Implementations§
source§impl Clone for WrapAlgorithm
 
impl Clone for WrapAlgorithm
source§fn clone(&self) -> WrapAlgorithm
 
fn clone(&self) -> WrapAlgorithm
1.0.0 · source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for WrapAlgorithm
 
impl Debug for WrapAlgorithm
source§impl PartialEq<WrapAlgorithm> for WrapAlgorithm
 
impl PartialEq<WrapAlgorithm> for WrapAlgorithm
source§fn eq(&self, other: &WrapAlgorithm) -> bool
 
fn eq(&self, other: &WrapAlgorithm) -> bool
self and other values to be equal, and is used
by ==.