TsvPrettyProcessor maintains state of processing and exposes operations for processing individual input lines.

TsvPrettyProcessor knows that input is file-based, but doesn't deal with actual files or reading lines from input. That is the job of the caller. Output is written to an output range. The caller is expected to pass each line to in the order received, that is an assumption built-into the its processing.

In addition to the constructor, there are four API methods: - processPreambleLine - Called to process a preamble line occurring before the header line or first line of data. - processFileFirstLine - Called to process the first line of each file. This enables header processing. - processLine - Called to process all lines except for the first line a file. - finish - Called at the end of all processing. This is needed in case the look-ahead cache is still being filled when input terminates.

struct TsvPrettyProcessor {}