#ifndef MUE__TEAMS_H
#define MUE__TEAMS_H


#include <iostream>

#include "config.h"


namespace mue {


class Team {
	private:
		Team_id _id;

		Team() {}
	public:
		Team(Team_id id)
		: _id(id)
		{}

		inline bool operator<(const Team& other)  const { return _id < other._id; }
		inline bool operator>(const Team& other)  const { return _id > other._id; }
		inline bool operator<=(const Team& other) const { return _id <= other._id; }
		inline bool operator>=(const Team& other) const { return _id >= other._id; }
		inline bool operator==(const Team& other) const { return _id == other._id; }
		inline bool operator!=(const Team& other) const { return _id != other._id; }

		inline bool operator<(const  Team_id other) const { return _id < other; }
		inline bool operator>(const  Team_id other) const { return _id > other; }
		inline bool operator<=(const Team_id other) const { return _id <= other; }
		inline bool operator>=(const Team_id other) const { return _id >= other; }
		inline bool operator==(const Team_id other) const { return _id == other; }
		inline bool operator!=(const Team_id other) const { return _id != other; }

		inline operator Team_id() const { return _id; }
		inline Team_id id() const { return _id; }

};

std::ostream& operator<<(std::ostream& os, Team const& team) { return os << int(team.id()); }

}
#endif

Add a wrapper for Team ids
Add a wrapper for Team ids

We can implement team specific functionality here if needed. At the
moment its only a wrapper for the team id.

Signed-off-by: Jan Losinski <577c4104c61edf9f052c616c0c23e67bef4a9955@wh2.tu-dresden.de>
