![]() |
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. |
#define ForAllDebugChannels | ( | STATEMENT... | ) |
Looping over all debug channels.
The macro ForAllDebugChannels
allows you to run over all debug channels.
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.
#define ForAllDebugObjects | ( | STATEMENT... | ) |
Looping over all debug objects.
The macro ForAllDebugObjects
allows you to run over all debug objects.
For example,
ForAllDebugObjects( debugObject.set_ostream(&std::cerr, &cerr_mutex) );
would set the output stream of all debug objects to std::cerr
.
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.
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.
References libcwd::channels::dc::always, libcwd::channels::dc::bfd, libcwd::channels::dc::malloc, libcwd::noprefix_cf, libcwd::channel_ct::off(), and libcwd::channel_ct::on().