cDBG Class Reference

A class to print colored debug messages. More...

#include <dbg.h>

List of all members.

Public Member Functions

 cDBG (bool flag=false, char const *color="red", std::ostream *fd=&std::cerr)
bool GetFlag (void) const
void PDM (char const *fmt,...) SDH__attribute__((format(printf
void SetColor (char const *color)
void SetFlag (bool flag)
void SetOutput (std::ostream *fd)
 ~cDBG ()

Protected Attributes

char const * debug_color
bool debug_flag
char const * normal_color
std::ostream * output

Detailed Description

A class to print colored debug messages.

If the environment variable "SDH_NO_COLOR" is defined then the messages are printed without coloring (usefull for logging or if your terminal does not support colors.

Example:

   #include "sdh/dbg.h"
   d = cDBG( true );
   g = cDBG( true, "green" );

   d.PDM( "This message is printed in default color red" );
   g << "and this one in a nice green ";

   g << "of course you can debug print any objects that have a string representation: " << 08 << 15 << true;

   g << "Messages can be turned of and on, e.g. selected by command line options";
   g.SetFlag(false);
   g << "This messages is not printed";

Definition at line 112 of file dbg.h.


Constructor & Destructor Documentation

cDBG::cDBG ( bool  flag = false,
char const *  color = "red",
std::ostream *  fd = &std::cerr 
) [inline]

constructor: construct a cDBG object

Parameters:
flag - the initial state of the flag, if true then messages sent to the object are printed. Default is false. Can be changed with SetFlag()
color - the name of the color to use, default is "red". Can be changed with SetColor()
fd - the ostream to use for output, default is stderr. Can be changed with SetOutput()

Definition at line 129 of file dbg.h.

cDBG::~cDBG (  )  [inline]

Definition at line 137 of file dbg.h.


Member Function Documentation

bool cDBG::GetFlag ( void   )  const [inline]

Get debug_flag of this cDBG object.

Definition at line 155 of file dbg.h.

void cDBG::PDM ( char const *  fmt,
  ... 
)

Print debug messages of printf like fmt, ... in the color set with SetColor, but only if debug_flag is true.

void cDBG::SetColor ( char const *  color  )  [inline]

Set debug_color of this cDBG object to color. color is a string like "red", see util.py for valid names.

Attention:
The string is NOT copied, just a pointer is stored

Definition at line 167 of file dbg.h.

void cDBG::SetFlag ( bool  flag  )  [inline]

Set debug_flag of this cDBG object to flag. After setting the flag to true debug messages are printed, else not.

Definition at line 146 of file dbg.h.

void cDBG::SetOutput ( std::ostream *  fd  )  [inline]

Set output of this cDBG object to fd, which must be a file like object like sys.stderr

Definition at line 182 of file dbg.h.


Member Data Documentation

char const* cDBG::debug_color [protected]

Definition at line 115 of file dbg.h.

bool cDBG::debug_flag [protected]

Definition at line 118 of file dbg.h.

char const* cDBG::normal_color [protected]

Definition at line 116 of file dbg.h.

std::ostream* cDBG::output [protected]

Definition at line 117 of file dbg.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


cob_sdh
Author(s): Florian Weisshardt
autogenerated on Fri Jan 11 10:03:55 2013