aboutsummaryrefslogtreecommitdiff
path: root/libutil++/cverb.h
diff options
context:
space:
mode:
Diffstat (limited to 'libutil++/cverb.h')
-rw-r--r--libutil++/cverb.h82
1 files changed, 0 insertions, 82 deletions
diff --git a/libutil++/cverb.h b/libutil++/cverb.h
deleted file mode 100644
index 6e71dc3..0000000
--- a/libutil++/cverb.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * @file cverb.h
- * verbose output stream
- *
- * @remark Copyright 2002, 2004 OProfile authors
- * @remark Read the file COPYING
- *
- * @author Philippe Elie
- * @author John Levon
- */
-
-#ifndef CVERB_H
-#define CVERB_H
-
-#include <iosfwd>
-#include <string>
-#include <vector>
-
-struct cverb_object { };
-
-/**
- * verbose object, all output through this stream are made only
- * if a verbose object with a true state is injected in the stream.
- */
-extern cverb_object cverb;
-
-/**
- * typical use:
- * declare some verbose global object:
- * verbose debug("debug");
- * verbose stats("stats");
- * verbose level2("level2");
- *
- * 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 <<)
- */
-class verbose {
- /// The returned stream is either a null stream or cout.
- friend std::ostream & operator<<(cverb_object &, verbose const &);
-public:
- /**
- * 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(char const * name);
-
- verbose operator|(verbose const &);
- verbose operator&(verbose const &);
-
- /// Return false if this named verbose object has not be registred.
- static bool setup(std::string const &);
- /// convenient interface calling the above for string in args
- static bool setup(std::vector<std::string> const & args);
-private:
- bool set;
-};
-
-/**
- * predefined general purpose verbose object, comment give their names
- */
-extern verbose vlevel1; /**< named "level1" */
-extern verbose vdebug; /**< named "debug" */
-extern verbose vstats; /**< named "stats" */
-// all sample filename manipulation.
-extern verbose vsfile; /**< named "sfile" */
-
-#endif /* !CVERB_H */