Main Page
Reference Manual
Namespace List
Compound List
Namespace Members
Compound Members
File Members
Collaboration diagram for Setting The Output Destination:
|
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.
|
Detailed Description
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).
Function Documentation
template<class T> |
void libcwd::debug_ct::set_ostream |
( |
std::ostream * |
os, |
|
|
T * |
mutex |
|
) |
[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:
MyLock lock;
Debug( libcw_do.set_ostream(&std::cerr, &lock) );
lock.lock();
std::cerr << "The application uses cerr too\n";
lock.unlock();
|
Copyright © 2001 - 2004 Carlo Wood. All rights reserved.