From: Christian P. <cp...@us...> - 2005-05-06 15:26:34
|
Update of /cvsroot/pclasses/pclasses2/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10913/src Modified Files: Trace.cpp Log Message: - Added a this-pointer to P_TRACE macro. - Added a P_TRACE_GLOBAL macro without this-pointer. Index: Trace.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/Trace.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Trace.cpp 28 Apr 2005 10:11:36 -0000 1.2 +++ Trace.cpp 6 May 2005 15:26:25 -0000 1.3 @@ -24,8 +24,16 @@ namespace P { -TraceStream::TraceStream(TraceLog& log, const SourceInfo& si, const char* cl) -: std::ostream(new std::stringbuf()), _log(log), _src(si), _class(cl) +TraceStream::TraceStream(TraceLog& log, const SourceInfo& si, + const char* cl, const void* obj) +: std::ostream(new std::stringbuf()), _log(log), _src(si), + _class(cl), _obj(obj) +{ +} + +TraceStream::TraceStream(TraceLog& log, const SourceInfo& si) +: std::ostream(new std::stringbuf()), _log(log), _src(si), + _class(""), _obj(0) { } @@ -38,7 +46,10 @@ TraceStream::~TraceStream() { std::stringbuf* sb = static_cast<std::stringbuf*>(rdbuf()); - _log.output(_src, _class, sb->str()); + if(!_class.empty()) + _log.output(_src, _class, _obj, sb->str()); + else + _log.output(_src, sb->str()); delete sb; } @@ -58,16 +69,28 @@ { } -TraceStream TraceLog::stream(const SourceInfo& si, const char* cl) +TraceStream TraceLog::stream(const SourceInfo& si, const char* cl, + const void* obj) { - return TraceStream(*this, si, cl); + return TraceStream(*this, si, cl, obj); } -void TraceLog::output(const SourceInfo& si, const std::string& cl, - const std::string& msg) +TraceStream TraceLog::stream(const SourceInfo& si) +{ + return TraceStream(*this, si); +} + +void TraceLog::output(const SourceInfo& si, const std::string& cl, + const void* obj, const std::string& msg) { //std::cout << si.file() << ":" << si.line() << std::endl; - std::cout << cl << ": " << msg << std::endl; + std::cout << cl << '[' << obj << "]: " << msg << std::endl; +} + +void TraceLog::output(const SourceInfo& si, const std::string& msg) +{ + //std::cout << si.file() << ":" << si.line() << std::endl; + std::cout << msg << std::endl; } TraceLog& TraceLog::instance() |