This class is responsible for reading and parsing the input data file/s. For the moment, FLAGR accepts only CSV-formatted input files.

Implementation files
The InputData class is defined in the src/input/InputData.h header file; its member functions are implemented in src/input/InputData.cpp and src/input/InputDataCSV.cpp.

Input list files
Detailed information about how the input files must be formatted can be found here.
Also notice that FLAGR is designed to accept data directly from RASDaGen, a synthetic dataset generator for rank aggregation problems.

Technical Details
The role of InputData is broader and it is not limited to just reading the input files. More specifically, during the input file parsing process, one or more Query objects are constructed. In the sequel, inside each Query the corresponding Aggregator and Evaluator objects are created to initialize and evaluate the aggregation process.

There is also a pointer called params that connects InputData with InputParams. In this manner, InputData is able to subsequently pass user-defined algorithm hyper-parameters and several other execution parameters to the rest of the application components.

The following interactive block diagram depicts the functionality of the InputData class inside the entire architecture of FLAGR.

FLAGR architecture