Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
UuidManager.h
Go to the documentation of this file.
1#pragma once
2#include <mutex>
3
5#include "uuid/uuid.h"
6
7namespace EngineCore {
8 class UuidSingleton;
9
12 private:
13 std::random_device rd;
14 std::mt19937 gen;
15 uuids::uuid_random_generator generator;
16 public:
17
19 uuids::uuid generate();
20
21 };
22
24 private:
26 UuidSingleton() = default;
27
28 public:
29 UuidSingleton(const UuidSingleton&) = delete;
31
33 TRACY_ZONE_SCOPED_NAMED("Get UUID singleton");
34 static UuidSingleton inst;
35 return inst;
36 }
37
38 uuids::uuid generate() {
39 TRACY_ZONE_SCOPED_NAMED("Generate UUID");
40 return manager.generate();
41 }
42 };
43}
#define TRACY_ZONE_SCOPED_NAMED(name)
std::random_device rd
Definition UuidManager.h:13
uuids::uuid_random_generator generator
Definition UuidManager.h:15
static UuidSingleton & instance()
Definition UuidManager.h:32
UuidSingleton(const UuidSingleton &)=delete
UuidSingleton & operator=(const UuidSingleton &)=delete
Log category system implementation.