MXVK Vulkan Framework 0.35.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{ return std::string(name.data(), strnlen(name.data(), name.size())); }

◆ random_join_code()

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

Definition at line 24 of file multiplayer.cpp.

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

◆ set_packet_name()

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

Definition at line 18 of file multiplayer.cpp.

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