mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 16:51:29 +00:00
36 lines
641 B
C++
36 lines
641 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
#include <ostream>
|
|
|
|
namespace EQ
|
|
{
|
|
namespace Util
|
|
{
|
|
class UUID
|
|
{
|
|
public:
|
|
UUID(const UUID &o);
|
|
UUID(UUID &&o);
|
|
UUID& operator=(const UUID &o);
|
|
~UUID();
|
|
|
|
static UUID Generate();
|
|
static UUID FromString(const std::string &str);
|
|
static UUID FromByteArray(const char *buffer);
|
|
|
|
std::string ToString() const;
|
|
const std::vector<char>& ToByteArray() const;
|
|
|
|
friend std::ostream &operator<<(std::ostream &os, const UUID &id) {
|
|
return os << id.ToString();
|
|
}
|
|
private:
|
|
UUID();
|
|
UUID(const unsigned char *bytes);
|
|
std::vector<char> m_bytes;
|
|
};
|
|
}
|
|
}
|