retdec
Public Types | Public Member Functions | Protected Types | Protected Attributes | Private Member Functions | List of all members
retdec::utils::io::Logger Class Reference

Provides Logger inteface that is used for logging events during decompilation. More...

#include <logger.h>

Inheritance diagram for retdec::utils::io::Logger:
Inheritance graph
[legend]
Collaboration diagram for retdec::utils::io::Logger:
Collaboration graph
[legend]

Public Types

enum  Action : int {
  Phase , SubPhase , SubSubPhase , ElapsedTime ,
  Error , Warning , NoAction
}
 
enum class  Color : int {
  Red , Green , Blue , Yellow ,
  DarkCyan , Default
}
 
using Ptr = std::unique_ptr< Logger >
 

Public Member Functions

 Logger (std::ostream &stream, bool verbose=true)
 
 Logger (const Logger &logger)
 
 ~Logger ()
 
template<typename T >
Loggeroperator<< (const T &p)
 
Loggeroperator<< (const StreamManipulator &manip)
 
Loggeroperator<< (const Action &ia)
 
Loggeroperator<< (const Color &lc)
 

Protected Types

typedef std::ostream &(* StreamManipulator) (std::ostream &)
 

Protected Attributes

std::ostream & _out
 
bool _verbose = true
 
Color _currentBrush = Color::Default
 
bool _modifiedTerminalProperty = false
 
bool _terminalNotSupported = false
 

Private Member Functions

bool isRedirected (const std::ostream &stream) const
 

Detailed Description

Provides Logger inteface that is used for logging events during decompilation.

Member Typedef Documentation

◆ Ptr

using retdec::utils::io::Logger::Ptr = std::unique_ptr<Logger>

◆ StreamManipulator

typedef std::ostream&(* retdec::utils::io::Logger::StreamManipulator) (std::ostream &)
protected

Member Enumeration Documentation

◆ Action

Enumerator
Phase 
SubPhase 
SubSubPhase 
ElapsedTime 
Error 
Warning 
NoAction 

◆ Color

Enumerator
Red 
Green 
Blue 
Yellow 
DarkCyan 
Default 

Constructor & Destructor Documentation

◆ Logger() [1/2]

retdec::utils::io::Logger::Logger ( std::ostream &  stream,
bool  verbose = true 
)

◆ Logger() [2/2]

retdec::utils::io::Logger::Logger ( const Logger logger)

◆ ~Logger()

retdec::utils::io::Logger::~Logger ( )

Member Function Documentation

◆ isRedirected()

bool retdec::utils::io::Logger::isRedirected ( const std::ostream &  stream) const
private

◆ operator<<() [1/4]

Logger & retdec::utils::io::Logger::operator<< ( const Action ia)

◆ operator<<() [2/4]

Logger & retdec::utils::io::Logger::operator<< ( const Color lc)

◆ operator<<() [3/4]

Logger & retdec::utils::io::Logger::operator<< ( const StreamManipulator manip)
inline

◆ operator<<() [4/4]

template<typename T >
Logger & retdec::utils::io::Logger::operator<< ( const T &  p)
inline

Member Data Documentation

◆ _currentBrush

Color retdec::utils::io::Logger::_currentBrush = Color::Default
protected

◆ _modifiedTerminalProperty

bool retdec::utils::io::Logger::_modifiedTerminalProperty = false
protected

◆ _out

std::ostream& retdec::utils::io::Logger::_out
protected

◆ _terminalNotSupported

bool retdec::utils::io::Logger::_terminalNotSupported = false
protected

◆ _verbose

bool retdec::utils::io::Logger::_verbose = true
protected

The documentation for this class was generated from the following files: