1 #ifndef __JEEP__JMESSAGE__ 
    2 #define __JEEP__JMESSAGE__ 
   20 namespace JPP { 
using namespace JEEP; }
 
   62 #define DEBUG(A)   do { if (debug >= JEEP::debug_t)   { std::cout << A << std::flush; }          } while (0) 
   63 #define STATUS(A)  do { if (debug >= JEEP::status_t)  { std::cout << A << std::flush; }          } while (0) 
   64 #define NOTICE(A)  do { if (debug >= JEEP::notice_t)  { std::cerr << A << std::flush; }          } while (0) 
   65 #define WARNING(A) do { if (debug >= JEEP::warning_t) { std::cerr << "WARNING: " << A << std::flush; }          } while (0) 
   66 #define ERROR(A)   do {                               { std::cerr << "ERROR: "   << A << std::flush; }          } while (0) 
   67 #define FATAL(A)   do {                               { std::cerr << "FATAL: "   << A << std::endl; exit(1);  } } while (0) 
   82 #define VARGS_STREAM(A, B, ...) B 
   90 #define ASSERT(A, ...)  do {                                            \ 
   91     if (A) { NOTICE(JEEP::GREEN << "Test at " << __FILE__ << ":" << __LINE__ << " (" << #A << ") \"" << VARGS_STRING("", ##__VA_ARGS__, "") << "\" passed." << JEEP::RESET << std::endl); } \ 
   92     else   { FATAL (JEEP::RED   << "Test at " << __FILE__ << ":" << __LINE__ << " (" << #A << ") \"" << VARGS_STRING("", ##__VA_ARGS__, "") << "\" failed." << JEEP::RESET << std::endl); } } while (0) 
  100 #define QAQC(A) do { if (qaqc > 0) { JLANG::JFileOutputStream(qaqc) << A; } } while (0) 
static int debug
debug level (default is off). 
 
I/O coloring auxiliaries. 
 
int qaqc
QA/QC file descriptor. 
 
Auxiliary class for handling debug parameter within a class.