identifyFileLines

identifyFileLines 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 a FileData array, one element for each file. The FileData reads the file when instantiated.

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

InputLine!hasRandomValue[]
identifyFileLines
(
HasRandomValue hasRandomValue
Flag!"isWeighted" isWeighted
OutputRange
)
(
const ref FileData[] fileData
,,
auto ref OutputRange outputStream
)
if (
isOutputRange!(OutputRange, char)
)

Meta