#include <cverb.h>
Public Member Functions | |
| verbose (char const *name) | |
| create a verbose object named name, the ctor auto-register name as a verbose object, the set state can be intialized through verbose::setup(name) | |
| verbose | operator| (verbose const &) |
| verbose | operator & (verbose const &) |
Static Public Member Functions | |
| static bool | setup (std::string const &) |
| Return false if this named verbose object has not be registred. | |
| static bool | setup (std::vector< std::string > const &args) |
| convenient interface calling the above for string in args | |
Friends | |
| std::ostream & | operator<< (cverb_object &, verbose const &) |
| The returned stream is either a null stream or cout. | |
setup from command line the state of these objects
verbose::setup(command_line_args_to'--verbose=');
cverb << stats << "stats\n"; cverb << (stats&level2) << "very verbose stats\n" cverb << (stats|debug) << "bar\n"; these will give a compile time error cverb << stats << "foo" << debug << "bar"; cout << stats << "foo";
In critical code path cverb can be used in the more efficient way: if (cverb << vdebug) cverb << vdebug << "foo" << "bar"; the condition test the fails bit for the returned stream while the later build a sentry object for each << (more efficient even with one level of <<)
|
|
create a verbose object named name, the ctor auto-register name as a verbose object, the set state can be intialized through verbose::setup(name)
|
|
|
|
|
|
|
|
|
convenient interface calling the above for string in args
|
|
|
Return false if this named verbose object has not be registred.
|
|
||||||||||||
|
The returned stream is either a null stream or cout.
|
1.4.6