From c7eac217a814fee9e3d9b7fa7d5c1cd52b7def5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Fri, 24 Nov 2023 16:11:36 +0100 Subject: [PATCH] Implement missing output operator --- include/hanabi_types.hpp | 2 ++ src/hanabi_types.cpp | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/include/hanabi_types.hpp b/include/hanabi_types.hpp index 8fa10d3..da91613 100644 --- a/include/hanabi_types.hpp +++ b/include/hanabi_types.hpp @@ -102,6 +102,8 @@ namespace Hanabi std::ostream & operator<<(std::ostream & os, const Action & action); + std::ostream & operator<<(std::ostream & os, const ActionType & action_type); + namespace Cards { diff --git a/src/hanabi_types.cpp b/src/hanabi_types.cpp index 5eda863..3a8aa4c 100644 --- a/src/hanabi_types.cpp +++ b/src/hanabi_types.cpp @@ -21,6 +21,35 @@ namespace Hanabi return os; } + std::ostream & operator<<(std::ostream & os, ActionType const & action_type) + { + switch (action_type) + { + case ActionType::play: + os << "play"; + break; + case ActionType::discard: + os << "discard"; + break; + case ActionType::color_clue: + os << "clue color"; + break; + case ActionType::rank_clue: + os << "clue rank"; + break; + case ActionType::end_game: + os << "end game"; + break; + case ActionType::vote_terminate_players: + os << "vote termination"; + break; + case ActionType::vote_terminate: + os << "terminate game"; + break; + } + return os; + } + std::string to_string(const Hanabi::Card & card) {