// Copyright(C) 2021 Intel Corporation // SPDX - License - Identifier: MIT #pragma once enum class ansi_color_code : int { black = 30, red = 31, green = 32, yellow = 33, blue = 34, magenta = 35, cyan = 36, white = 37, bright_black = 90, bright_red = 91, bright_green = 92, bright_yellow = 93, bright_blue = 94, bright_magenta = 95, bright_cyan = 96, bright_white = 97, none = 98, }; template std::string print_as_color(printable const& value, ansi_color_code color) { std::stringstream sstr; #ifndef _WIN32 if (color != ansi_color_code::none) sstr << "\033[1;" << static_cast(color) << "m" << value << "\033[0m"; else sstr << value; #else sstr << value; #endif return sstr.str(); } template std::string print_as_color(printable const& value) { std::stringstream sstr; #ifndef _WIN32 if (color != ansi_color_code::none) sstr << "\033[1;" << static_cast(color) << "m" << value << "\033[0m"; else sstr << value; #else sstr << value; #endif return sstr.str(); }