9#include <initializer_list>
42 bool oldVTModeEnabled_;
58 bool oldColorEnabled_;
73 operator std::string()
const;
92 operator std::string()
const {
103 Color(std::initializer_list<int> il) {
104 for (
int code : il) {
122 template <
typename T>
123 requires std::same_as<T &&, ColoredString &&>
129 template <
typename T>
130 requires std::same_as<T &&, std::string &&>
172#define X(code, name) inline const Color name{code};
173#include "mini-llvm/utils/Color.def"
182 constexpr auto parse(std::format_parse_context &ctx) {
186 template <
typename FormatContext>
188 return std::format_to(ctx.out(),
"{}", std::string(str));
194 : std::formatter<mini_llvm::ColoredStringView> {};
#define MINI_LLVM_EXPORT
Definition Compiler.h:17
ColorGuard(const ColorGuard &)=delete
ColorGuard & operator=(const ColorGuard &)=delete
ColorGuard(ColorGuard &&)=delete
ColorGuard(bool enableColor)
ColorGuard & operator=(ColorGuard &&)=delete
ColoredString operator()(T &&str) const
Definition Color.h:124
std::bitset< 128 > Codes
Definition Color.h:99
ColoredStringView operator()(ColoredStringView str) const
Definition Color.h:113
ColoredStringView operator()(std::string_view str) const
Definition Color.h:118
Codes codes() const
Definition Color.h:109
Color(std::initializer_list< int > il)
Definition Color.h:103
Color(Codes codes)
Definition Color.h:101
ColoredString operator()(T &&str) const
Definition Color.h:131
VTModeGuard(const VTModeGuard &)=delete
VTModeGuard(VTModeGuard &&)=delete
VTModeGuard & operator=(const VTModeGuard &)=delete
VTModeGuard & operator=(VTModeGuard &&)=delete
VTModeGuard(FILE *, bool)
Definition Color.h:30
Definition GraphColoringAllocator.h:13
Color operator^(Color lhs, Color rhs)
Definition Color.h:151
Color operator~(Color color)
Definition Color.h:139
Color operator&(Color lhs, Color rhs)
Definition Color.h:143
Color operator|(Color lhs, Color rhs)
Definition Color.h:147
Color & operator|=(Color &lhs, Color rhs)
Definition Color.h:160
Color color(Diagnostic::Level level)
Definition Diagnostic.h:48
Color & operator^=(Color &lhs, Color rhs)
Definition Color.h:165
Color & operator&=(Color &lhs, Color rhs)
Definition Color.h:155
MINI_LLVM_EXPORT bool supportsColor(FILE *stream)
Codes codes
Definition Color.h:65
ColoredStringView(std::string_view str)
Definition Color.h:67
ColoredStringView(std::string_view str, Codes codes)
Definition Color.h:70
std::bitset< 128 > Codes
Definition Color.h:62
std::string_view str
Definition Color.h:64
std::bitset< 128 > Codes
Definition Color.h:77
ColoredString(std::string str, Codes codes)
Definition Color.h:85
Codes codes
Definition Color.h:80
std::string str
Definition Color.h:79
ColoredString(std::string str)
Definition Color.h:82