source: src/CodePatterns/Info.hpp@ 163eec

Last change on this file since 163eec 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
Line 
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
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
16#include <string>
17
18class Chronos;
19class InfoTest;
20
21/*********************************************** includes ***********************************/
22
23/****************************************** forward declarations *****************************/
24
25/********************************************** definitions *********************************/
26
27class Info {
28 //!> unit tests needs access to some internals
29 friend class InfoTest;
30public :
31 static int verbosity;
32 const std::string FunctionName;
33
34 Info(const char *msg);
35 ~Info();
36 static void setVerbosity(int verbosityLevel);
37
38private:
39 static class Chronos * timekeeper;
40 static bool ChronosBlocker;
41 static size_t NumberInfos;
42};
43
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
52#endif /* INFO_HPP_ */
Note: See TracBrowser for help on using the repository browser.