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

Two main tasks are performed. One is splitting all input data into lines. The second 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.

HasRandomValue hasRandomValue
Flag!"isWeighted" isWeighted