![]() |
Related | |
Custom Debug Objects | |
Functions | |
void | libcwd::debug_ct::set_ostream (std::ostream *os) |
Set output device (single threaded applications).Assign a new ostream to this debug object (default is std::cerr ). For use in single threaded applications only. | |
std::ostream * | libcwd::debug_ct::get_ostream (void) const |
Get the ostream device as set with set_ostream(). | |
template<class T > | |
void | libcwd::debug_ct::set_ostream (std::ostream *os, T *mutex) |
Set output device and provide external lock.Assign a new ostream to this debug object. The ostream will only be written to after obtaining the lock that is passed as second argument. Each ostream needs to have a unique lock. If the application also writes directly to the same ostream then use the same lock. |
Basically, a debug object (debug_ct ) is a pointer to an ostream with a few extra attributes added to give it an internal state for on (pass output on) and off (don't pass output on) as well as some formatting information of how to write the data that is passed on to its ostream.
The methods of debug_ct given here allow you to set or get this ostream (pointer).
void libcwd::debug_ct::set_ostream | ( | std::ostream * | os, | |
T * | mutex | |||
) | [inline, inherited] |
Set output device and provide external lock.Assign a new ostream
to this debug object. The ostream
will only be written to after obtaining the lock that is passed as second argument. Each ostream
needs to have a unique lock. If the application also writes directly to the same ostream
then use the same lock.
Example: