/*Header file of the PStep class

Implementation can be found in PStep.cpp.

This class represents a P-Step

*/

#ifndef _PSTEP_H
#define _PSTEP_H

#include <list>
#include <iostream>


//Class used to represent a p-step, it contains a list of locations in the order of visits,
//the starting load, and the starting load plus the total demand, refered to as total load,
//and the total cost.
class PStep{
public:
	//List of locations in the order of visiting them
	//Locations[i] gives the i-th location on the p-step
	//Location 0 is the depot.
	std::list<short int> Locations;
	//Starting load, including the first demand (d+q{first})
	double StartingLoad;
	//Total Load, i.e., starting load plus total demand.
	double TotalLoad;
	//Cost
	double Cost;

	//Print functions
	//------------------------------------------------------------------------------------

	//Print all PStep characteristics
	void PrintPStep();

};

#endif