14 template<
typename T,
typename std::enable_if<std::is_same<std::remove_cv_t<std::remove_reference_t<T>>, Diarkis::StdString>::value>::type* =
nullptr>
17 return std::forward<T>(value).c_str();
21 template<
typename T,
typename std::enable_if<!std::is_same<std::remove_cv_t<std::remove_reference_t<T>>, Diarkis::StdString>::value>::type* =
nullptr>
24 return std::forward<T>(value);
28 template<
typename ... Args>
32 int str_len = std::snprintf(
nullptr, 0, format, std::forward<Args>(args) ...);
36 std::runtime_error(
"String Formatting Error");
41 * Represents a matchmaking service
for players.
42 * @japanese プレイヤー向けのマッチメイキングサービスを表します。
45 size_t buffer_size = str_len +
sizeof(char);
50 std::snprintf(buffer.data(), buffer_size, format, args ...);
56 template<
typename ... Args>
60 * This
class represents a Room in the chat application.
61 * ~@japanese このクラスは、チャットアプリケーションのRoomを表します。
65 template<
typename ... Args>
69 * Represents a matchmaker
for finding compatible users.
70 * ~@japanese 互換性のあるユーザーを見つけるためのMatchMakerを表します。