identifyInputLines

identifyInputLines is used by algorithms that read all files into memory prior to processing. It does the initial processing of the file data.

Three primary tasks are performed. One is splitting all input data into lines. The second is writing the header line from the first file to the output stream. Header lines from subsequent files are ignored. Third is assigning a random value to the line, if random values are being generated.

The key input is an InputBlock array. Normally one block for each file, but standard input may have multiple blocks.

The return value is an array of InputLine structs. The struct will have a 'randomValue' member if random values are being assigned.

InputLine!hasRandomValue[]
identifyInputLines
(
HasRandomValue hasRandomValue
Flag!"isWeighted" isWeighted
OutputRange
)
(,,
auto ref OutputRange outputStream
)
if (
isOutputRange!(OutputRange, char)
)

Meta