Template Function noLZSS::factorize_stream_multiple_dna_w_rc

Function Documentation

template<class Sink>
size_t noLZSS::factorize_stream_multiple_dna_w_rc(std::string_view text, Sink &&sink, size_t start_pos = 0)

Advanced factorization function for DNA text with reverse complement awareness for multiple sequences.

Factorize DNA sequences with reverse complement processing using streaming.

This template function provides low-level access to the factorization process for multiple DNA sequences, allowing custom handling of factors through a sink callable.

Template version that accepts a sink for processing factors without storing in memory. Processes multiple DNA sequences concatenated with sentinels, handling both forward and reverse complement strands.

See also

factorize_multiple_dna_w_rc() for the non-template version that returns a vector

Note

Memory-efficient for large genomic datasets

Template Parameters:
  • Sink – Callable type that accepts Factor objects

  • Sink – Callable type that accepts Factor objects

Parameters:
  • text – Input DNA text string with multiple sequences and sentinels

  • sink – Callable that receives each computed factor

  • start_pos – Starting position for factorization (default: 0)

  • text – Concatenated DNA sequences with sentinels

  • sentinel_positions – Positions where sentinels were inserted

  • sink – Callable that receives each computed factor

  • start_pos – Starting position for factor positions (default 0)

Returns:

Number of factors emitted

Returns:

Total number of factors emitted