MXVK Vulkan Framework 0.24.0
C++20 Vulkan rendering framework for practical 2D and 3D application development with SDL3.
Loading...
Searching...
No Matches
space::anonymous_namespace{multiplayer.cpp} Namespace Reference

Functions

std::string packet_name (const std::array< char, 32 > &name)
std::string random_join_code ()
void set_packet_name (std::array< char, 32 > &output, const std::string &name)

Function Documentation

◆ packet_name()

std::string space::anonymous_namespace{multiplayer.cpp}::packet_name ( const std::array< char, 32 > & name)

Definition at line 16 of file multiplayer.cpp.

16 {
17 return std::string(name.data(), strnlen(name.data(), name.size()));
18 }

◆ random_join_code()

std::string space::anonymous_namespace{multiplayer.cpp}::random_join_code ( )

Definition at line 26 of file multiplayer.cpp.

26 {
27 static constexpr char ALPHABET[] = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789";
28 std::random_device random_device;
29 std::uniform_int_distribution<std::size_t> distribution(0, sizeof(ALPHABET) - 2U);
30 std::string code(8, 'A');
31 for (char &character : code)
32 character = ALPHABET[distribution(random_device)];
33 return code;
34 }

◆ set_packet_name()

void space::anonymous_namespace{multiplayer.cpp}::set_packet_name ( std::array< char, 32 > & output,
const std::string & name )

Definition at line 20 of file multiplayer.cpp.

20 {
21 const std::size_t size = std::min(name.size(), output.size() - 1U);
22 std::memcpy(output.data(), name.data(), size);
23 output[size] = '\0';
24 }