File: xerr.ih

package info (click to toggle)
icmake 13.05.01-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,132 kB
  • sloc: cpp: 11,595; fortran: 883; makefile: 853; sh: 546; pascal: 342
file content (26 lines) | stat: -rw-r--r-- 916 bytes parent folder | download
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
#ifndef INCLUDED_XERR_IH_
#define INCLUDED_XERR_IH_

// 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 << 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


#endif