debug.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <elog/log.hpp>
9 
10 namespace egami {
11  int32_t getLogId();
12 };
13 #define EGAMI_BASE(info,data) ELOG_BASE(egami::getLogId(),info,data)
14 
15 #define EGAMI_CRITICAL(data) EGAMI_BASE(1, data)
16 #define EGAMI_ERROR(data) EGAMI_BASE(2, data)
17 #define EGAMI_WARNING(data) EGAMI_BASE(3, data)
18 #ifdef DEBUG
19  #define EGAMI_INFO(data) EGAMI_BASE(4, data)
20  #define EGAMI_DEBUG(data) EGAMI_BASE(5, data)
21  #define EGAMI_VERBOSE(data) EGAMI_BASE(6, data)
22  #define EGAMI_TODO(data) EGAMI_BASE(4, "TODO : " << data)
23 #else
24  #define EGAMI_INFO(data) do { } while(false)
25  #define EGAMI_DEBUG(data) do { } while(false)
26  #define EGAMI_VERBOSE(data) do { } while(false)
27  #define EGAMI_TODO(data) do { } while(false)
28 #endif
29 
30 #define EGAMI_ASSERT(cond,data) \
31  do { \
32  if (!(cond)) { \
33  EGAMI_CRITICAL(data); \
34  assert(!#cond); \
35  } \
36  } while (0)
37 
Definition: debug.hpp:10