mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Private Attributes
m::Diagnostic Struct Reference

#include <Diagnostic.hpp>

Collaboration diagram for m::Diagnostic:
[legend]

Public Member Functions

 Diagnostic (const bool color, std::ostream &out, std::ostream &err)
 
std::ostream & operator() (const Position pos)
 
std::ostream & n (const Position pos)
 
std::ostream & w (const Position pos)
 
std::ostream & e (const Position pos)
 
unsigned num_errors () const
 Returns the number of errors emitted since the last call to clear().
 
void clear ()
 Resets the error counter.
 
std::ostream & out () const
 
std::ostream & err ()
 

Static Public Attributes

static constexpr const char * RESET = "\033[0m"
 
static constexpr const char * BOLD = "\033[1;37m"
 
static constexpr const char * ITALIC = "\033[3;37m"
 
static constexpr const char * NOTE = "\033[1;2;37m"
 
static constexpr const char * WARNING = "\033[1;35m"
 
static constexpr const char * ERROR = "\033[1;31m"
 

Private Types

enum  Kind { K_None , K_Note , K_Warning , K_Error }
 

Private Member Functions

void print_pos (std::ostream &out, const Position pos, const Kind kind)
 

Private Attributes

const bool color_
 
std::ostream & out_
 
std::ostream & err_
 
unsigned num_errors_ = 0
 

Detailed Description

Definition at line 11 of file Diagnostic.hpp.

Member Enumeration Documentation

◆ Kind

enum m::Diagnostic::Kind
private
Enumerator
K_None 
K_Note 
K_Warning 
K_Error 

Definition at line 65 of file Diagnostic.hpp.

Constructor & Destructor Documentation

◆ Diagnostic()

m::Diagnostic::Diagnostic ( const bool  color,
std::ostream &  out,
std::ostream &  err 
)
inline

Definition at line 20 of file Diagnostic.hpp.

Member Function Documentation

◆ clear()

void m::Diagnostic::clear ( )
inline

Resets the error counter.

Definition at line 50 of file Diagnostic.hpp.

References num_errors_.

Referenced by m::execute_file(), m::execute_instruction(), m::execute_statement(), m::load_from_CSV(), main(), and m::process_stream().

◆ e()

std::ostream & m::Diagnostic::e ( const Position  pos)
inline

◆ err()

std::ostream & m::Diagnostic::err ( )
inline

◆ n()

std::ostream & m::Diagnostic::n ( const Position  pos)
inline

Definition at line 31 of file Diagnostic.hpp.

References K_Note, out_, and print_pos().

◆ num_errors()

unsigned m::Diagnostic::num_errors ( ) const
inline

Returns the number of errors emitted since the last call to clear().

Definition at line 48 of file Diagnostic.hpp.

References num_errors_.

Referenced by m::command_from_string(), m::execute_file(), m::instruction_from_string(), m::load_from_CSV(), main(), and m::statement_from_string().

◆ operator()()

std::ostream & m::Diagnostic::operator() ( const Position  pos)
inline

Definition at line 26 of file Diagnostic.hpp.

References K_None, out_, and print_pos().

◆ out()

std::ostream & m::Diagnostic::out ( ) const
inline

◆ print_pos()

void m::Diagnostic::print_pos ( std::ostream &  out,
const Position  pos,
const Kind  kind 
)
inlineprivate

◆ w()

std::ostream & m::Diagnostic::w ( const Position  pos)
inline

Field Documentation

◆ BOLD

constexpr const char* m::Diagnostic::BOLD = "\033[1;37m"
staticconstexpr

Definition at line 14 of file Diagnostic.hpp.

Referenced by print_pos().

◆ color_

const bool m::Diagnostic::color_
private

Definition at line 60 of file Diagnostic.hpp.

Referenced by print_pos().

◆ err_

std::ostream& m::Diagnostic::err_
private

Definition at line 62 of file Diagnostic.hpp.

Referenced by e(), err(), and w().

◆ ERROR

constexpr const char* m::Diagnostic::ERROR = "\033[1;31m"
staticconstexpr

Definition at line 18 of file Diagnostic.hpp.

Referenced by err(), and print_pos().

◆ ITALIC

constexpr const char* m::Diagnostic::ITALIC = "\033[3;37m"
staticconstexpr

Definition at line 15 of file Diagnostic.hpp.

◆ NOTE

constexpr const char* m::Diagnostic::NOTE = "\033[1;2;37m"
staticconstexpr

Definition at line 16 of file Diagnostic.hpp.

Referenced by print_pos(), and m::DotTool::show().

◆ num_errors_

unsigned m::Diagnostic::num_errors_ = 0
private

Definition at line 63 of file Diagnostic.hpp.

Referenced by clear(), e(), err(), and num_errors().

◆ out_

std::ostream& m::Diagnostic::out_
private

Definition at line 61 of file Diagnostic.hpp.

Referenced by n(), operator()(), and out().

◆ RESET

constexpr const char* m::Diagnostic::RESET = "\033[0m"
staticconstexpr

Definition at line 13 of file Diagnostic.hpp.

Referenced by err(), print_pos(), and m::DotTool::show().

◆ WARNING

constexpr const char* m::Diagnostic::WARNING = "\033[1;35m"
staticconstexpr

Definition at line 17 of file Diagnostic.hpp.

Referenced by print_pos().


The documentation for this struct was generated from the following file: