omgui::DebugReport Class Reference

#include <omgui/debug.h>

List of all members.


Detailed Description

Used like std::cout to print debug messages. When building with Visual Studio, debug messages will be printed to the Visual Studio debugger window. Otherwise, std::cout is used.

Output is cached. To flush the cache, use std::endl. The cache is also flushed upon object destruction. The act of flushing a cache will output the debug messages and append a newline. Using std::endl will not append a second newline. You do not need to add a newline yourself unless you want a blank line inbetween debug messasges.

Different types of debug reports will go to different places. When compiling with Visual Studio, all messages will go to the debug window, but messages of type ERROR will spawn a run time debug information window with options to ignore the error, terminate execution, or break. For other platforms, messages of type ERROR will be output to std::cerr while MESSAGEs will go to std::cout.

Public Types

enum  REPORT_TYPE { MESSAGE, ERROR }

Public Member Functions

 DebugReport (const DebugReport &r)
 _DEBUG
 DebugReport (REPORT_TYPE report_type=MESSAGE, const char *file=0, int line=0, const char *module=0)

Friends

const DebugReportoperator<< (const DebugReport &r, std::basic_ostream< wchar_t, std::char_traits< wchar_t > > &(*func)(std::basic_ostream< wchar_t, std::char_traits< wchar_t > > &))
const DebugReportoperator<< (const DebugReport &r, std::basic_ostream< char, std::char_traits< char > > &(*func)(std::basic_ostream< char, std::char_traits< char > > &))
const DebugReportoperator<< (const DebugReport &r, std::ios_base &(*func)(std::ios_base &))
template<typename T>
const DebugReportoperator<< (const DebugReport &r, const T &t)


Member Enumeration Documentation

Enumerator:
MESSAGE 
ERROR 


Constructor & Destructor Documentation

omgui::DebugReport::DebugReport ( REPORT_TYPE  report_type = MESSAGE,
const char *  file = 0,
int  line = 0,
const char *  module = 0 
) [inline]

omgui::DebugReport::DebugReport ( const DebugReport r  )  [inline]

_DEBUG


Friends And Related Function Documentation

const DebugReport& operator<< ( const DebugReport r,
std::basic_ostream< wchar_t, std::char_traits< wchar_t > > &(*)(std::basic_ostream< wchar_t, std::char_traits< wchar_t > > &)  func 
) [friend]

Flushes the stream (Wide character std::endl version)

const DebugReport& operator<< ( const DebugReport r,
std::basic_ostream< char, std::char_traits< char > > &(*)(std::basic_ostream< char, std::char_traits< char > > &)  func 
) [friend]

Flushes the stream

const DebugReport& operator<< ( const DebugReport r,
std::ios_base &(*)(std::ios_base &)  func 
) [friend]

Used to print simple output manipulator objects (std::hex, etc) to the stream

template<typename T>
const DebugReport& operator<< ( const DebugReport r,
const T &  t 
) [friend]

Print an element to the stream


doxygen SourceForge.net Logo