Template Function noLZSS::detail::nolzss
Defined in File factorizer_core.hpp
Function Documentation
-
template<class Sink>
size_t noLZSS::detail::nolzss(cst_t &cst, Sink &&sink, size_t start_pos) Core noLZSS factorization algorithm implementation.
Implements the non-overlapping Lempel-Ziv-Storer-Szymanski factorization using a compressed suffix tree. The algorithm finds the longest previous factor for each position in the text and emits factors through a sink.
Note
This is the core algorithm that all public functions use
Note
The sink pattern allows for memory-efficient processing
Note
All factors are emitted, including the last one
- Template Parameters:
Sink – Callable type that accepts Factor objects (e.g., lambda, function)
- Parameters:
cst – The compressed suffix tree built from the input text
sink – Callable that receives each computed factor
start_pos – Starting position for factorization (default: 0)
- Returns:
Number of factors emitted