Conquer Space
0.0.0
A space themed grand strategy game set in the near future, with realistic orbital mechanics, and an emphasis on economics and politics.
src
common
util
uuid.h
Go to the documentation of this file.
1
/* Conquer Space
2
* Copyright (C) 2021-2023 Conquer Space
3
*
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation, either version 3 of the License, or
7
* (at your option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program. If not, see <https://www.gnu.org/licenses/>.
16
*/
17
#pragma once
18
19
#include <random>
20
#include <string>
21
22
namespace
cqsp::common::util
{
23
// Generates 6 digit hexidecimal id
24
inline
std::string
random_id
() {
25
int
len = 6;
26
static
const
char
* alpha_num =
"0123456789abcdef"
;
27
thread_local
static
std::mt19937 rg {std::random_device {}()};
28
thread_local
static
std::uniform_int_distribution<std::string::size_type> pick(0, 15);
29
std::string s;
30
31
s.reserve(len);
32
33
while
(len--) {
34
s += alpha_num[pick(rg)];
35
}
36
return
s;
37
}
38
}
// namespace cqsp::common::util
cqsp::common::util
Definition:
logging.cpp:55
cqsp::common::util::random_id
std::string random_id()
Definition:
uuid.h:24
Generated on Tue Nov 19 2024 02:58:49 for Conquer Space by
1.9.2