#pragma once


#include <iostream>
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <list>
#include <ctime>
#include <cstdlib> 
#include <sstream>
#include <random>
#include "Label.h";

using namespace std;

class TimeFile
{
public:

	TimeFile(string _fileName);
	~TimeFile();


	void initializeTimeFile(string fileName, vector<string> names);
	void createAndWriteInTimeFile(string fileName, vector<double> times, vector<string> namesOfStoppedTimes, int num_nodes,
		int numRobots, int gridS, int minSpeed, int maxSpeed, int serviceT, int dueWindowLength, int instIndex);
	void appendTimeFileNLP(string fileName, vector<double> times, int num_nodes, int numRobots, int instIndex, vector<Label>* solution);
	void appendTimeFile(
		string fileName,
		vector<double> times,
		int num_nodes,
		int numRobots,
		string infos, string instance);

	inline string getTimeFileName()
	{
		return timeFileName;
	}
	inline void setTimeFileName(string _fileName)
	{
		timeFileName = _fileName;
	}

	string timeFileName;
};

