blob: 012ef1bb688b5ba3c9d5110458cba7799f40690b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
/*
*/
#pragma once
#include <sstream>
extern int g_debug_indent_level;
#define INDENT() do { g_debug_indent_level += 1; } while(0)
#define UNINDENT() do { g_debug_indent_level -= 1; } while(0)
#define DEBUG(ss) do{ if(debug_enabled()) { debug_output(g_debug_indent_level, __FUNCTION__) << ss << ::std::endl; } } while(0)
extern bool debug_enabled();
extern ::std::ostream& debug_output(int indent, const char* function);
struct RepeatLitStr
{
const char *s;
int n;
friend ::std::ostream& operator<<(::std::ostream& os, const RepeatLitStr& r) {
for(int i = 0; i < r.n; i ++ )
os << r.s;
return os;
}
};
|