source: src/CodePatterns/Info.hpp@ c1e104

Last change on this file since c1e104 was e93bfe, checked in by Frederik Heber <heber@…>, 11 years ago

Added debug macro wrapping Info.

  • Property mode set to 100644
File size: 1.0 KB
RevLine 
[a80f419]1/*
2 * Info.hpp
3 *
4 * Created on: Nov 25, 2009
5 * Author: heber
6 */
7
8#ifndef INFO_HPP_
9#define INFO_HPP_
10
[70672e3]11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
[a80f419]15
[93abe8]16#include <string>
17
[3f2719]18class Chronos;
19class InfoTest;
[93abe8]20
[a80f419]21/*********************************************** includes ***********************************/
22
23/****************************************** forward declarations *****************************/
24
25/********************************************** definitions *********************************/
26
27class Info {
[93abe8]28 //!> unit tests needs access to some internals
[3f2719]29 friend class InfoTest;
[a80f419]30public :
31 static int verbosity;
[93abe8]32 const std::string FunctionName;
[a80f419]33
34 Info(const char *msg);
35 ~Info();
36 static void setVerbosity(int verbosityLevel);
37
[93abe8]38private:
39 static class Chronos * timekeeper;
40 static bool ChronosBlocker;
41 static size_t NumberInfos;
[a80f419]42};
43
[e93bfe]44// create some debug macro for wrapping Info
45#ifndef NDEBUG
46#define DEBUG_FUNCTION_ENTRYEXIT \
47 Info info(__FUNCTION__);
48#else
49#define DEBUG_FUNCTION_ENTRYEXIT
50#endif
51
[a80f419]52#endif /* INFO_HPP_ */
Note: See TracBrowser for help on using the repository browser.