File: xerr.ih

package info (click to toggle)
bobcat 6.11.00-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,292 kB
  • sloc: cpp: 21,370; fortran: 6,507; makefile: 2,787; sh: 724; perl: 401; ansic: 26
file content (20 lines) | stat: -rw-r--r-- 855 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// define XERR to activate the xerr/xerr(2) macros:
//      xerr(insertion)
//          inserts the '<<' concatenated elements into std::cerr
//          preceded by the name of the source file, and ended by '\n'
//      xerr2(insertion, code)
//          performs the insertion if X is defined, and (unconditionally)
//          executes the statement(s) in `code'. `code' must be valid
//          C(++) code.
//
#ifdef XERR
    #include <iostream>
    #define xerr(insertion)  std::cerr << XERR "/" __FILE__ ": " <<     \
                                                    insertion << '\n'
    #define xerr2(insertion, code) \
                { std::cerr << XERR "/" __FILE__ ": " << insertion <<   \
                                                    '\n';  code;  }
#else
    #define xerr(insertion)
    #define xerr2(insertion, code) code
#endif