14 #include "../omw/color.h"
15 #include "../omw/defs.h"
16 #include "../omw/string.h"
19 #ifndef DOXYGEN_EXCLUDE_FROM_DOC
26 ostream_manip_t(
const omw::string& argument) : m_arg(argument) {}
27 virtual ~ostream_manip_t() {}
31 template<
class CharT,
class Traits = std::
char_traits<CharT>>
32 friend inline std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& os,
const omw::ostream_manip_t& manip)
35 for (
size_t i = 0; i < str.length(); ++i) { os.put(os.widen(str[i])); }
51 #endif // DOXYGEN_EXCLUDE_FROM_DOC
62 template<
class CharT,
class Traits = std::
char_traits<CharT>>
63 friend inline std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& os,
const omw::ansiesc_ostream_manip_t& manip) {
return (os << manip.arg().c_str()); }
82 constexpr
char argSepChar =
';';
84 constexpr
char escChar =
'\x1B';
86 constexpr
char csiChar =
'[';
87 constexpr
char stChar =
'\\';
88 constexpr
char oscChar =
']';
89 constexpr
char sosChar =
'X';
96 constexpr
char CUU =
'A';
97 constexpr
char CUD =
'B';
98 constexpr
char CUF =
'C';
99 constexpr
char CUB =
'D';
100 constexpr
char CUP =
'H';
101 constexpr
char ED =
'J';
102 constexpr
char EL =
'K';
103 constexpr
char SU =
'S';
104 constexpr
char SD =
'T';
105 constexpr
char HVP =
'f';
106 constexpr
char SGR =
'm';
111 constexpr
char cursorUp = CUU;
112 constexpr
char cursorDown = CUD;
113 constexpr
char cursorFwd = CUF;
114 constexpr
char cursorBack = CUB;
115 constexpr
char cursorPos = CUP;
116 constexpr
char eraseDisplay = ED;
117 constexpr
char eraseLine = EL;
118 constexpr
char scrollUp = SU;
119 constexpr
char scrollDown = SD;
124 constexpr
int fromCurToEnd = 0;
125 constexpr
int fromCurToBegin = 1;
126 constexpr
int entire = 2;
127 constexpr
int entireAndScrlBk = 3;
134 return omw::ansiesc::csi::seq(cs, omw::to_string(arg0) + omw::ansiesc::argSepChar + omw::to_string(arg1));
140 constexpr
int font_base = 10;
141 constexpr
int foreground_base = 30;
142 constexpr
int background_base = 40;
143 constexpr
int brightForeground_base = 90;
144 constexpr
int brightBackground_base = 100;
146 constexpr
int colorBlack = 0;
147 constexpr
int colorRed = 1;
148 constexpr
int colorGreen = 2;
149 constexpr
int colorYellow = 3;
150 constexpr
int colorBlue = 4;
151 constexpr
int colorMagenta = 5;
152 constexpr
int colorCyan = 6;
153 constexpr
int colorWhite = 7;
157 constexpr
int reset = 0;
158 constexpr
int bold = 1;
159 constexpr
int faint = 2;
160 constexpr
int italic = 3;
161 constexpr
int underline = 4;
162 constexpr
int blinkSlow = 5;
163 constexpr
int blinkFast = 6;
164 constexpr
int reverseVideo = 7;
165 constexpr
int conceal = 8;
166 constexpr
int strike = 9;
167 constexpr
int defaultFont = font_base;
168 constexpr
int font0 = font_base + 0;
169 constexpr
int font1 = font_base + 1;
170 constexpr
int font2 = font_base + 2;
171 constexpr
int font3 = font_base + 3;
172 constexpr
int font4 = font_base + 4;
173 constexpr
int font5 = font_base + 5;
174 constexpr
int font6 = font_base + 6;
175 constexpr
int font7 = font_base + 7;
176 constexpr
int font8 = font_base + 8;
177 constexpr
int font9 = font_base + 9;
178 constexpr
int fraktur = 20;
179 constexpr
int boldFaintOff = 22;
180 constexpr
int boldOff = boldFaintOff;
181 constexpr
int faintOff = boldFaintOff;
182 constexpr
int italicFrakturOff = 23;
183 constexpr
int italicOff = italicFrakturOff;
184 constexpr
int frakturOff = italicFrakturOff;
185 constexpr
int underlineOff = 24;
186 constexpr
int blinkOff = 25;
187 constexpr
int reverseVideoOff = 27;
188 constexpr
int concealOff = 28;
189 constexpr
int reveal = concealOff;
190 constexpr
int strikeOff = 29;
191 constexpr
int fgColorBlack = foreground_base + colorBlack;
192 constexpr
int fgColorRed = foreground_base + colorRed;
193 constexpr
int fgColorGreen = foreground_base + colorGreen;
194 constexpr
int fgColorYellow = foreground_base + colorYellow;
195 constexpr
int fgColorBlue = foreground_base + colorBlue;
196 constexpr
int fgColorMagenta = foreground_base + colorMagenta;
197 constexpr
int fgColorCyan = foreground_base + colorCyan;
198 constexpr
int fgColorWhite = foreground_base + colorWhite;
199 constexpr
int setForeColor = 38;
200 constexpr
int defaultForeColor = 39;
201 constexpr
int fgColorDefault = defaultForeColor;
202 constexpr
int bgColorBlack = background_base + colorBlack;
203 constexpr
int bgColorRed = background_base + colorRed;
204 constexpr
int bgColorGreen = background_base + colorGreen;
205 constexpr
int bgColorYellow = background_base + colorYellow;
206 constexpr
int bgColorBlue = background_base + colorBlue;
207 constexpr
int bgColorMagenta = background_base + colorMagenta;
208 constexpr
int bgColorCyan = background_base + colorCyan;
209 constexpr
int bgColorWhite = background_base + colorWhite;
210 constexpr
int setBackColor = 48;
211 constexpr
int defaultBackColor = 49;
212 constexpr
int bgColorDefault = defaultBackColor;
213 constexpr
int framed = 51;
214 constexpr
int encircled = 52;
215 constexpr
int overlined = 53;
216 constexpr
int framedEncircledOff = 54;
217 constexpr
int framedOff = framedEncircledOff;
218 constexpr
int encircledOff = framedEncircledOff;
219 constexpr
int overlinedOff = 55;
220 constexpr
int setUnderlineColor = 58;
221 constexpr
int defaultUnderlineColor = 59;
222 constexpr
int super = 73;
223 constexpr
int sub = 74;
224 constexpr
int superSubOff = 75;
225 constexpr
int superOff = superSubOff;
226 constexpr
int subOff = superSubOff;
227 constexpr
int fgColorBrightBlack = brightForeground_base + colorBlack;
228 constexpr
int fgColorBrightRed = brightForeground_base + colorRed;
229 constexpr
int fgColorBrightGreen = brightForeground_base + colorGreen;
230 constexpr
int fgColorBrightYellow = brightForeground_base + colorYellow;
231 constexpr
int fgColorBrightBlue = brightForeground_base + colorBlue;
232 constexpr
int fgColorBrightMagenta = brightForeground_base + colorMagenta;
233 constexpr
int fgColorBrightCyan = brightForeground_base + colorCyan;
234 constexpr
int fgColorBrightWhite = brightForeground_base + colorWhite;
235 constexpr
int bgColorBrightBlack = brightBackground_base + colorBlack;
236 constexpr
int bgColorBrightRed = brightBackground_base + colorRed;
237 constexpr
int bgColorBrightGreen = brightBackground_base + colorGreen;
238 constexpr
int bgColorBrightYellow = brightBackground_base + colorYellow;
239 constexpr
int bgColorBrightBlue = brightBackground_base + colorBlue;
240 constexpr
int bgColorBrightMagenta = brightBackground_base + colorMagenta;
241 constexpr
int bgColorBrightCyan = brightBackground_base + colorCyan;
242 constexpr
int bgColorBrightWhite = brightBackground_base + colorWhite;
248 constexpr
int setColor_8bit = 5;
249 constexpr
int setColor_rgb = 2;
256 return omw::ansiesc::csi::sgr::seq(omw::to_string(param) + omw::ansiesc::argSepChar + omw::to_string(arg0) + omw::ansiesc::argSepChar + omw::to_string(arg1));
258 omw::string seq(
int param,
int arg0,
int arg1,
int arg2,
int arg3);
265 constexpr
int col8bit_standardBlack = 0;
266 constexpr
int col8bit_standardBlue = 1;
267 constexpr
int col8bit_standardCyan = 2;
268 constexpr
int col8bit_standardGreen = 3;
269 constexpr
int col8bit_standardMagenta = 4;
270 constexpr
int col8bit_standardRed = 5;
271 constexpr
int col8bit_standardWhite = 6;
272 constexpr
int col8bit_standardYellow = 7;
273 constexpr
int col8bit_brightBlack = 8;
274 constexpr
int col8bit_brightBlue = 9;
275 constexpr
int col8bit_brightCyan = 10;
276 constexpr
int col8bit_brightGreen = 11;
277 constexpr
int col8bit_brightMagenta = 12;
278 constexpr
int col8bit_brightRed = 13;
279 constexpr
int col8bit_brightWhite = 14;
280 constexpr
int col8bit_brightYellow = 15;
281 constexpr
int col8bit_grayscale26[26] = { 16, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 231 };
292 #pragma region ostream-manip
298 template<
class CharT,
class Traits = std::
char_traits<CharT>>
299 inline std::basic_ostream<CharT, Traits>& bgBlack(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorBlack).c_str()); }
300 template<
class CharT,
class Traits = std::
char_traits<CharT>>
301 inline std::basic_ostream<CharT, Traits>& bgBlue(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorBlue).c_str()); }
302 template<
class CharT,
class Traits = std::
char_traits<CharT>>
303 inline std::basic_ostream<CharT, Traits>& bgBrightBlack(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorBrightBlack).c_str()); }
304 template<
class CharT,
class Traits = std::
char_traits<CharT>>
305 inline std::basic_ostream<CharT, Traits>& bgBrightBlue(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorBrightBlue).c_str()); }
306 template<
class CharT,
class Traits = std::
char_traits<CharT>>
307 inline std::basic_ostream<CharT, Traits>& bgBrightCyan(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorBrightCyan).c_str()); }
308 template<
class CharT,
class Traits = std::
char_traits<CharT>>
309 inline std::basic_ostream<CharT, Traits>& bgBrightGreen(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorBrightGreen).c_str()); }
310 template<
class CharT,
class Traits = std::
char_traits<CharT>>
311 inline std::basic_ostream<CharT, Traits>& bgBrightMagenta(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorBrightMagenta).c_str()); }
312 template<
class CharT,
class Traits = std::
char_traits<CharT>>
313 inline std::basic_ostream<CharT, Traits>& bgBrightRed(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorBrightRed).c_str()); }
314 template<
class CharT,
class Traits = std::
char_traits<CharT>>
315 inline std::basic_ostream<CharT, Traits>& bgBrightWhite(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorBrightWhite).c_str()); }
316 template<
class CharT,
class Traits = std::
char_traits<CharT>>
317 inline std::basic_ostream<CharT, Traits>& bgBrightYellow(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorBrightYellow).c_str()); }
318 template<
class CharT,
class Traits = std::
char_traits<CharT>>
319 inline std::basic_ostream<CharT, Traits>& bgCyan(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorCyan).c_str()); }
320 template<
class CharT,
class Traits = std::
char_traits<CharT>>
321 inline std::basic_ostream<CharT, Traits>& bgDefault(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorDefault).c_str()); }
322 template<
class CharT,
class Traits = std::
char_traits<CharT>>
323 inline std::basic_ostream<CharT, Traits>& bgGreen(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorGreen).c_str()); }
324 template<
class CharT,
class Traits = std::
char_traits<CharT>>
325 inline std::basic_ostream<CharT, Traits>& bgMagenta(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorMagenta).c_str()); }
326 template<
class CharT,
class Traits = std::
char_traits<CharT>>
327 inline std::basic_ostream<CharT, Traits>& bgRed(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorRed).c_str()); }
328 template<
class CharT,
class Traits = std::
char_traits<CharT>>
329 inline std::basic_ostream<CharT, Traits>& bgWhite(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorWhite).c_str()); }
330 template<
class CharT,
class Traits = std::
char_traits<CharT>>
331 inline std::basic_ostream<CharT, Traits>& bgYellow(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bgColorYellow).c_str()); }
333 template<
class CharT,
class Traits = std::
char_traits<CharT>>
334 inline std::basic_ostream<CharT, Traits>& blinkFast(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::blinkFast).c_str()); }
335 template<
class CharT,
class Traits = std::
char_traits<CharT>>
336 inline std::basic_ostream<CharT, Traits>& blinkOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::blinkOff).c_str()); }
337 template<
class CharT,
class Traits = std::
char_traits<CharT>>
338 inline std::basic_ostream<CharT, Traits>& blinkSlow(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::blinkSlow).c_str()); }
339 template<
class CharT,
class Traits = std::
char_traits<CharT>>
340 inline std::basic_ostream<CharT, Traits>& bold(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::bold).c_str()); }
341 template<
class CharT,
class Traits = std::
char_traits<CharT>>
342 inline std::basic_ostream<CharT, Traits>& boldOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::boldOff).c_str()); }
343 template<
class CharT,
class Traits = std::
char_traits<CharT>>
344 inline std::basic_ostream<CharT, Traits>& conceal(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::conceal).c_str()); }
345 template<
class CharT,
class Traits = std::
char_traits<CharT>>
346 inline std::basic_ostream<CharT, Traits>& concealOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::concealOff).c_str()); }
348 template<
class CharT,
class Traits = std::
char_traits<CharT>>
349 inline std::basic_ostream<CharT, Traits>& defaultBackColor(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::defaultBackColor).c_str()); }
356 template<
class CharT,
class Traits = std::
char_traits<CharT>>
357 inline std::basic_ostream<CharT, Traits>&
defaultColors(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::defaultBackColor, omw::ansiesc::csi::sgr::defaultForeColor, omw::ansiesc::csi::sgr::defaultUnderlineColor).c_str()); }
358 template<
class CharT,
class Traits = std::
char_traits<CharT>>
359 inline std::basic_ostream<CharT, Traits>& defaultFont(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::defaultFont).c_str()); }
360 template<
class CharT,
class Traits = std::
char_traits<CharT>>
361 inline std::basic_ostream<CharT, Traits>& defaultForeColor(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::defaultForeColor).c_str()); }
362 template<
class CharT,
class Traits = std::
char_traits<CharT>>
363 inline std::basic_ostream<CharT, Traits>& defaultUnderlineColor(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::defaultUnderlineColor).c_str()); }
365 template<
class CharT,
class Traits = std::
char_traits<CharT>>
366 inline std::basic_ostream<CharT, Traits>& encircled(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::encircled).c_str()); }
367 template<
class CharT,
class Traits = std::
char_traits<CharT>>
368 inline std::basic_ostream<CharT, Traits>& encircledOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::encircledOff).c_str()); }
369 template<
class CharT,
class Traits = std::
char_traits<CharT>>
370 inline std::basic_ostream<CharT, Traits>& faint(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::faint).c_str()); }
371 template<
class CharT,
class Traits = std::
char_traits<CharT>>
372 inline std::basic_ostream<CharT, Traits>& faintOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::faintOff).c_str()); }
374 template<
class CharT,
class Traits = std::
char_traits<CharT>>
375 inline std::basic_ostream<CharT, Traits>& fgBlack(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorBlack).c_str()); }
376 template<
class CharT,
class Traits = std::
char_traits<CharT>>
377 inline std::basic_ostream<CharT, Traits>& fgBlue(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorBlue).c_str()); }
378 template<
class CharT,
class Traits = std::
char_traits<CharT>>
379 inline std::basic_ostream<CharT, Traits>& fgBrightBlack(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorBrightBlack).c_str()); }
380 template<
class CharT,
class Traits = std::
char_traits<CharT>>
381 inline std::basic_ostream<CharT, Traits>& fgBrightBlue(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorBrightBlue).c_str()); }
382 template<
class CharT,
class Traits = std::
char_traits<CharT>>
383 inline std::basic_ostream<CharT, Traits>& fgBrightCyan(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorBrightCyan).c_str()); }
384 template<
class CharT,
class Traits = std::
char_traits<CharT>>
385 inline std::basic_ostream<CharT, Traits>& fgBrightGreen(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorBrightGreen).c_str()); }
386 template<
class CharT,
class Traits = std::
char_traits<CharT>>
387 inline std::basic_ostream<CharT, Traits>& fgBrightMagenta(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorBrightMagenta).c_str()); }
388 template<
class CharT,
class Traits = std::
char_traits<CharT>>
389 inline std::basic_ostream<CharT, Traits>& fgBrightRed(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorBrightRed).c_str()); }
390 template<
class CharT,
class Traits = std::
char_traits<CharT>>
391 inline std::basic_ostream<CharT, Traits>& fgBrightWhite(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorBrightWhite).c_str()); }
392 template<
class CharT,
class Traits = std::
char_traits<CharT>>
393 inline std::basic_ostream<CharT, Traits>& fgBrightYellow(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorBrightYellow).c_str()); }
394 template<
class CharT,
class Traits = std::
char_traits<CharT>>
395 inline std::basic_ostream<CharT, Traits>& fgCyan(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorCyan).c_str()); }
396 template<
class CharT,
class Traits = std::
char_traits<CharT>>
397 inline std::basic_ostream<CharT, Traits>& fgDefault(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorDefault).c_str()); }
398 template<
class CharT,
class Traits = std::
char_traits<CharT>>
399 inline std::basic_ostream<CharT, Traits>& fgGreen(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorGreen).c_str()); }
400 template<
class CharT,
class Traits = std::
char_traits<CharT>>
401 inline std::basic_ostream<CharT, Traits>& fgMagenta(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorMagenta).c_str()); }
402 template<
class CharT,
class Traits = std::
char_traits<CharT>>
403 inline std::basic_ostream<CharT, Traits>& fgRed(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorRed).c_str()); }
404 template<
class CharT,
class Traits = std::
char_traits<CharT>>
405 inline std::basic_ostream<CharT, Traits>& fgWhite(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorWhite).c_str()); }
406 template<
class CharT,
class Traits = std::
char_traits<CharT>>
407 inline std::basic_ostream<CharT, Traits>& fgYellow(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fgColorYellow).c_str()); }
410 template<
class CharT,
class Traits = std::
char_traits<CharT>>
411 inline std::basic_ostream<CharT, Traits>& font0(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::font0).c_str()); }
412 template<
class CharT,
class Traits = std::
char_traits<CharT>>
413 inline std::basic_ostream<CharT, Traits>& font1(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::font1).c_str()); }
414 template<
class CharT,
class Traits = std::
char_traits<CharT>>
415 inline std::basic_ostream<CharT, Traits>& font2(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::font2).c_str()); }
416 template<
class CharT,
class Traits = std::
char_traits<CharT>>
417 inline std::basic_ostream<CharT, Traits>& font3(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::font3).c_str()); }
418 template<
class CharT,
class Traits = std::
char_traits<CharT>>
419 inline std::basic_ostream<CharT, Traits>& font4(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::font4).c_str()); }
420 template<
class CharT,
class Traits = std::
char_traits<CharT>>
421 inline std::basic_ostream<CharT, Traits>& font5(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::font5).c_str()); }
422 template<
class CharT,
class Traits = std::
char_traits<CharT>>
423 inline std::basic_ostream<CharT, Traits>& font6(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::font6).c_str()); }
424 template<
class CharT,
class Traits = std::
char_traits<CharT>>
425 inline std::basic_ostream<CharT, Traits>& font7(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::font7).c_str()); }
426 template<
class CharT,
class Traits = std::
char_traits<CharT>>
427 inline std::basic_ostream<CharT, Traits>& font8(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::font8).c_str()); }
428 template<
class CharT,
class Traits = std::
char_traits<CharT>>
429 inline std::basic_ostream<CharT, Traits>& font9(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::font9).c_str()); }
433 template<
class CharT,
class Traits = std::
char_traits<CharT>>
434 inline std::basic_ostream<CharT, Traits>& fraktur(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::fraktur).c_str()); }
435 template<
class CharT,
class Traits = std::
char_traits<CharT>>
436 inline std::basic_ostream<CharT, Traits>& frakturOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::frakturOff).c_str()); }
437 template<
class CharT,
class Traits = std::
char_traits<CharT>>
438 inline std::basic_ostream<CharT, Traits>& framed(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::framed).c_str()); }
439 template<
class CharT,
class Traits = std::
char_traits<CharT>>
440 inline std::basic_ostream<CharT, Traits>& framedOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::framedOff).c_str()); }
441 template<
class CharT,
class Traits = std::
char_traits<CharT>>
442 inline std::basic_ostream<CharT, Traits>& italic(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::italic).c_str()); }
443 template<
class CharT,
class Traits = std::
char_traits<CharT>>
444 inline std::basic_ostream<CharT, Traits>& italicOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::italicOff).c_str()); }
445 template<
class CharT,
class Traits = std::
char_traits<CharT>>
446 inline std::basic_ostream<CharT, Traits>& normal(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::reset).c_str()); }
447 template<
class CharT,
class Traits = std::
char_traits<CharT>>
448 inline std::basic_ostream<CharT, Traits>& overlined(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::overlined).c_str()); }
449 template<
class CharT,
class Traits = std::
char_traits<CharT>>
450 inline std::basic_ostream<CharT, Traits>& overlinedOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::overlinedOff).c_str()); }
451 template<
class CharT,
class Traits = std::
char_traits<CharT>>
452 inline std::basic_ostream<CharT, Traits>& reveal(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::reveal).c_str()); }
453 template<
class CharT,
class Traits = std::
char_traits<CharT>>
454 inline std::basic_ostream<CharT, Traits>& reverseVideo(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::reverseVideo).c_str()); }
455 template<
class CharT,
class Traits = std::
char_traits<CharT>>
456 inline std::basic_ostream<CharT, Traits>& reverseVideoOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::reverseVideoOff).c_str()); }
457 template<
class CharT,
class Traits = std::
char_traits<CharT>>
458 inline std::basic_ostream<CharT, Traits>& strike(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::strike).c_str()); }
459 template<
class CharT,
class Traits = std::
char_traits<CharT>>
460 inline std::basic_ostream<CharT, Traits>& strikeOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::strikeOff).c_str()); }
461 template<
class CharT,
class Traits = std::
char_traits<CharT>>
462 inline std::basic_ostream<CharT, Traits>& sub(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::sub).c_str()); }
463 template<
class CharT,
class Traits = std::
char_traits<CharT>>
464 inline std::basic_ostream<CharT, Traits>& subOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::subOff).c_str()); }
465 template<
class CharT,
class Traits = std::
char_traits<CharT>>
466 inline std::basic_ostream<CharT, Traits>& super(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::super).c_str()); }
467 template<
class CharT,
class Traits = std::
char_traits<CharT>>
468 inline std::basic_ostream<CharT, Traits>& superOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::superOff).c_str()); }
469 template<
class CharT,
class Traits = std::
char_traits<CharT>>
470 inline std::basic_ostream<CharT, Traits>& underline(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::underline).c_str()); }
474 template<
class CharT,
class Traits = std::
char_traits<CharT>>
475 inline std::basic_ostream<CharT, Traits>& underlineOff(std::basic_ostream<CharT, Traits>& os) {
return (os <<
omw::ansiesc::csi::sgr::seq(omw::ansiesc::csi::sgr::underlineOff).c_str()); }
477 #pragma endregion ostream-manip
483 #endif // IG_OMW_CLI_H