This module contains bindings for the alignment algorithms used in biodiff.
The main interface are the methods of the [AlignAlgorithm] struct.
If handling of selections and semiglobal alignment is needed, the [AlignInfo] struct
should be used.
Before running the alignment, the parameters should be checked with the [AlignAlgorithm::check_parameters]
or [AlignInfo::check_parameters] methods.
Most methods are meant for a gradual alignment of files, but the [AlignAlgorithm::align_whole]
method is the simplest interface and can be used to align two files as a whole synchronously.
The gradual alignment first sends an [AlignedMessage::Initial] message with the initial block of bytes,
then sends [AlignedMessage::Append] and [AlignedMessage::Prepend] messages with the rest of the bytes.