File: xerr.ih

package info (click to toggle)
c%2B%2B-annotations 13.02.02-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,576 kB
  • sloc: cpp: 25,297; makefile: 1,523; ansic: 165; sh: 126; perl: 90; fortran: 27
file content (18 lines) | stat: -rw-r--r-- 708 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// define X to activate the xerr/xerr2 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 << __FILE__": " << insertion << '\n'
    #define xerr2(insertion, b) \
                    { std::cerr << __FILE__": " << insertion << '\n';  b;  }
#else
    #define xerr(insertion)
    #define xerr2(insertion, b) b
#endif