
#include "StopWatch.h"
#include <iostream.h>

StopWatch::StopWatch()
:	_startTime(0), 
	_markTIme(0), 
	_stopTime(0)
{
}

StopWatch::StopWatch (const StopWatch &d)
{	_startTime = d._startTime;
	_markTIme = d._markTIme;
	_stopTime = d._stopTime;
}

StopWatch::~StopWatch()
{	// nothing
}

StopWatch & StopWatch::operator = (const StopWatch &d)
{	if(&d != this)
	{	_startTime = d._startTime;
		_markTIme = d._markTIme;
		_stopTime = d._stopTime;
	}		
	return *this;
}


time_t StopWatch::start()
{	reset();
	_startTime = time(NULL);
	_markTIme = _startTime;
	return _startTime;
}

time_t StopWatch::stop()
{	_stopTime = time(NULL);
	return _stopTime;
}

time_t StopWatch::mark()
{	time_t newTime = time(NULL);
	cout << "Mark Elapsed time: " << difftime(newTime, _startTime) <<
		" Lap time: " << difftime(newTime, _markTIme) << endl;
	_markTIme = newTime;
	return _markTIme;
}

void StopWatch::reset()
{	_startTime = 0;
	_markTIme = 0;
	_stopTime = 0;
}


