summaryrefslogtreecommitdiff
path: root/algo1w4d2/Kassa.cpp
blob: e1ee46de72b19c1941482f57c8cabc8fa1e4e0b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "Kassa.h"

#include "consts.h"

Kassa::Kassa() { _queue = new Queue(); }
Kassa::~Kassa() { delete _queue; }

std::ostream& operator << (std::ostream& output, const Kassa& k) {
	for (unsigned i = 0; i < k._queue->size(); i++)
		output << "* ";
	return output;
}

void Kassa::add_customer(const Klant& k) {
	_queue->insert(k);
}

void Kassa::step() {
	for (unsigned i = 0; i < MAX_TRANSACTION_PER_CHECKOUT; i++) {
		if (_queue->size() == 0) break;
		delete _queue->remove().release();
	}
}