46 lines
1.3 KiB
C++
46 lines
1.3 KiB
C++
#ifndef __MY_MACROS__
|
|
#define __MY_MACROS__
|
|
|
|
#include <cassert>
|
|
|
|
#define LINENUM std::cout << __FILE__ << " (function " << __func__ << "), line " << __LINE__ << std::endl;
|
|
/* Fatal error */
|
|
#define FERROR(s) \
|
|
{ \
|
|
std::cerr << "EE: " << __FILE__ << " (function " << __func__ << "), line " << __LINE__ << ": " << s << std::endl; \
|
|
exit(1); \
|
|
}
|
|
#define WARNING(s) \
|
|
{ \
|
|
std::cerr << "== WARNING: " << s << std::endl; \
|
|
}
|
|
|
|
#define VERB(s) \
|
|
assert(opts != nullptr); \
|
|
if (opts->verbose > 0) { \
|
|
std::cerr << "ii VERBOSE(1): " << __FILE__ << " (" << __func__ << ":" << __LINE__ << "): " << s << std::endl; \
|
|
}
|
|
|
|
#define VERB_L2(s) \
|
|
assert(opts != nullptr); \
|
|
if (opts->verbose > 1) { \
|
|
std::cerr << "ii VERBOSE(2): " << __FILE__ << " (" << __func__ << ":" << __LINE__ << "): " << s << std::endl; \
|
|
}
|
|
|
|
#define VERB_L3(s) \
|
|
assert(opts != nullptr); \
|
|
if (opts->verbose > 2) { \
|
|
std::cerr << "ii VERBOSE(3): " << __FILE__ << " (" << __func__ << ":" << __LINE__ << "): " << s << std::endl; \
|
|
}
|
|
|
|
#define VERB_LN(n,s) \
|
|
assert(opts != nullptr); \
|
|
if (opts->verbose >= (n)) { \
|
|
std::cerr << "ii VERBOSE(" << (n) << "): " << __FILE__ << " (" << __func__ << ":" << __LINE__ << "): " << s << std::endl; \
|
|
}
|
|
|
|
|
|
#define SET_ADD(set1, set2) (set1).insert((set2).begin(), (set2).end())
|
|
|
|
#endif
|