Collaboration diagram for Special Functions And Utilities:
![]() |
Classes | |
class | libcwd::buf2str |
Print a (char ) buffer with a given size to a debug ostream, escaping non-printable characters. More... | |
class | libcwd::char2str |
Print a char to a debug ostream, escaping non-printable characters as needed. More... | |
interface | libcwd::cwprint |
Print an object to a debug stream without needing an operator<<. More... | |
interface | libcwd::cwprint_using |
Print an object to an ostream using an arbitrary method of that object. More... | |
Defines | |
#define | ForAllDebugChannels(STATEMENT...) |
Looping over all debug channels. | |
#define | ForAllDebugObjects(STATEMENT...) |
Looping over all debug objects. | |
Functions | |
channel_ct * | libcwd::find_channel (char const *label) |
Find debug channel with label label. | |
void | libcwd::list_channels_on (debug_ct &debug_object) |
List all debug channels to a given debug object. |
|
Looping over all debug channels.
The macro For example,
ForAllDebugChannels( while (!debugChannel.is_on()) debugChannel.on() ); which turns all channels on. And
ForAllDebugChannels( if (debugChannel.is_on()) debugChannel.off() ); which turns all channels off. |
|
Looping over all debug objects.
The macro For example,
ForAllDebugObjects( debugObject.set_ostream(&std::cerr, &cerr_mutex) );
would set the output stream of all debug objects to |
|
Find debug channel with label label.
|
|
List all debug channels to a given debug object. Example:
Dout( list_channels_on(libcw_do) ); // libcw_do is the (default) debug object of libcwd. Example of output:
DEBUG : Disabled NOTICE : Enabled WARNING : Enabled SYSTEM : Enabled MALLOC : Disabled LLISTS : Disabled KERNEL : Disabled IO : Disabled FOO : Enabled BAR : Enabled Where FOO and BAR are user defined channels in this example. |