#ifndef UNIQUEID_H
#define UNIQUEID_H

namespace Salamander
{

/*
** UniqueIds can be used to identify class types, or any other property in the engine which requires a globally unique Id
*/
class UniqueId
{
public:
	UniqueId();
	~UniqueId();

	bool operator== (const UniqueId& u) const;
	bool operator!= (const UniqueId& u) const;
	
	bool operator<(const UniqueId& u) const;
	bool operator<=(const UniqueId& u) const;
	bool operator>(const UniqueId& u) const;
	bool operator>=(const UniqueId& u) const;

	long id_;
private:
	
	static long nextId_;
};

}

#endif // UNIQUEID_H