C++ Utilities  5.6.0
Useful C++ classes and routines such as argument parser, IO and conversion utilities
Namespaces | Enumerations | Functions | Variables
ansiescapecodes.h File Reference
#include "../global.h"
#include "../misc/traits.h"
#include <ostream>
#include <string_view>
#include <tuple>
Include dependency graph for ansiescapecodes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 CppUtilities
 Contains all utilities provides by the c++utilities library.
 
 CppUtilities::EscapeCodes
 Encapsulates functions for formatted terminal output using ANSI escape codes.
 

Enumerations

enum  CppUtilities::EscapeCodes::Color : char {
  CppUtilities::EscapeCodes::Color::Black = '0', CppUtilities::EscapeCodes::Color::Red, CppUtilities::EscapeCodes::Color::Green, CppUtilities::EscapeCodes::Color::Yellow,
  CppUtilities::EscapeCodes::Color::Blue, CppUtilities::EscapeCodes::Color::Purple, CppUtilities::EscapeCodes::Color::Cyan, CppUtilities::EscapeCodes::Color::White
}
 
enum  CppUtilities::EscapeCodes::ColorContext : char { CppUtilities::EscapeCodes::ColorContext::Foreground = '3', CppUtilities::EscapeCodes::ColorContext::Background = '4' }
 
enum  CppUtilities::EscapeCodes::TextAttribute : char {
  CppUtilities::EscapeCodes::TextAttribute::Reset = '0', CppUtilities::EscapeCodes::TextAttribute::Bold = '1', CppUtilities::EscapeCodes::TextAttribute::Dim = '2', CppUtilities::EscapeCodes::TextAttribute::Italic = '3',
  CppUtilities::EscapeCodes::TextAttribute::Underscore = '4', CppUtilities::EscapeCodes::TextAttribute::Blink = '5', CppUtilities::EscapeCodes::TextAttribute::ReverseVideo = '7', CppUtilities::EscapeCodes::TextAttribute::Concealed = '8',
  CppUtilities::EscapeCodes::TextAttribute::Strikethrough = '9'
}
 
enum  CppUtilities::EscapeCodes::Direction : char { CppUtilities::EscapeCodes::Direction::Up = 'A', CppUtilities::EscapeCodes::Direction::Down = 'B', CppUtilities::EscapeCodes::Direction::Forward = 'C', CppUtilities::EscapeCodes::Direction::Backward = 'D' }
 
enum  CppUtilities::EscapeCodes::Phrases {
  CppUtilities::EscapeCodes::Phrases::Error, CppUtilities::EscapeCodes::Phrases::Warning, CppUtilities::EscapeCodes::Phrases::End, CppUtilities::EscapeCodes::Phrases::PlainMessage,
  CppUtilities::EscapeCodes::Phrases::SuccessMessage, CppUtilities::EscapeCodes::Phrases::SubMessage, CppUtilities::EscapeCodes::Phrases::ErrorMessage, CppUtilities::EscapeCodes::Phrases::WarningMessage,
  CppUtilities::EscapeCodes::Phrases::EndFlush, CppUtilities::EscapeCodes::Phrases::Info, CppUtilities::EscapeCodes::Phrases::Override, CppUtilities::EscapeCodes::Phrases::SubError,
  CppUtilities::EscapeCodes::Phrases::SubWarning, CppUtilities::EscapeCodes::Phrases::InfoMessage
}
 The Phrases enum contains standard phrases which can be printed to any std::ostream. More...
 

Functions

void CppUtilities::EscapeCodes::setStyle (std::ostream &stream, TextAttribute displayAttribute=TextAttribute::Reset)
 
void CppUtilities::EscapeCodes::setStyle (std::ostream &stream, Color color, ColorContext context=ColorContext::Foreground, TextAttribute displayAttribute=TextAttribute::Reset)
 
void CppUtilities::EscapeCodes::setStyle (std::ostream &stream, Color foregroundColor, Color backgroundColor, TextAttribute displayAttribute=TextAttribute::Reset)
 
void CppUtilities::EscapeCodes::resetStyle (std::ostream &stream)
 
void CppUtilities::EscapeCodes::setCursor (std::ostream &stream, unsigned int row=0, unsigned int col=0)
 
void CppUtilities::EscapeCodes::moveCursor (std::ostream &stream, unsigned int cells, Direction direction)
 
void CppUtilities::EscapeCodes::saveCursor (std::ostream &stream)
 
void CppUtilities::EscapeCodes::restoreCursor (std::ostream &stream)
 
void CppUtilities::EscapeCodes::eraseDisplay (std::ostream &stream)
 
void CppUtilities::EscapeCodes::eraseLine (std::ostream &stream)
 
std::ostream & CppUtilities::EscapeCodes::operator<< (std::ostream &stream, TextAttribute displayAttribute)
 
constexpr auto CppUtilities::EscapeCodes::color (Color foreground, Color background, TextAttribute displayAttribute=TextAttribute::Reset)
 
constexpr auto CppUtilities::EscapeCodes::color (Color foreground, ColorContext context, TextAttribute displayAttribute=TextAttribute::Reset)
 
template<typename TupleType , Traits::EnableIfAny< std::is_same< TupleType, std::tuple< Color, Color, TextAttribute >>, std::is_same< TupleType, std::tuple< Color, ColorContext, TextAttribute >>> * = nullptr>
std::ostream & CppUtilities::EscapeCodes::operator<< (std::ostream &stream, TupleType displayAttribute)
 
CPP_UTILITIES_EXPORT std::ostream & CppUtilities::EscapeCodes::operator<< (std::ostream &stream, Phrases phrase)
 Prints the specified phrase. More...
 
CPP_UTILITIES_EXPORT std::string_view CppUtilities::EscapeCodes::phraseString (Phrases phrase)
 

Variables

CPP_UTILITIES_EXPORT bool CppUtilities::EscapeCodes::enabled
 Controls whether the functions inside the EscapeCodes namespace actually make use of escape codes. More...