This lexer copies the needed characters from the input range to an internal
buffer, returning slices of it. Whether the buffer is reused (and thus all
previously returned slices invalidated) depends on the instantiation parameters.
This is the most flexible lexer, as it imposes very few requirements on its input,
which only needs to be an InputRange. It is also the slowest lexer, as it copies
characters one by one, so it shall not be used unless it's the only option.
A lexer that takes an InputRange.
This lexer copies the needed characters from the input range to an internal buffer, returning slices of it. Whether the buffer is reused (and thus all previously returned slices invalidated) depends on the instantiation parameters.
This is the most flexible lexer, as it imposes very few requirements on its input, which only needs to be an InputRange. It is also the slowest lexer, as it copies characters one by one, so it shall not be used unless it's the only option.