Enum textwrap::core::WrapAlgorithm [−][src]
pub enum WrapAlgorithm { OptimalFit, FirstFit, }
Expand description
Wrapping algorithms.
After a text has been broken into Fragment
s, 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
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.
Use a fast and simple algorithm with no look-ahead to find
line breaks. Implemented by wrap_first_fit
.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for WrapAlgorithm
impl Send for WrapAlgorithm
impl Sync for WrapAlgorithm
impl Unpin for WrapAlgorithm
impl UnwindSafe for WrapAlgorithm
Blanket Implementations
Mutably borrows from an owned value. Read more