cartobase 6.0.6
verbose.h
Go to the documentation of this file.
1/* This software and supporting documentation are distributed by
2 * Institut Federatif de Recherche 49
3 * CEA/NeuroSpin, Batiment 145,
4 * 91191 Gif-sur-Yvette cedex
5 * France
6 *
7 * This software is governed by the CeCILL-B license under
8 * French law and abiding by the rules of distribution of free software.
9 * You can use, modify and/or redistribute the software under the
10 * terms of the CeCILL-B license as circulated by CEA, CNRS
11 * and INRIA at the following URL "http://www.cecill.info".
12 *
13 * As a counterpart to the access to the source code and rights to copy,
14 * modify and redistribute granted by the license, users are provided only
15 * with a limited warranty and the software's author, the holder of the
16 * economic rights, and the successive licensors have only limited
17 * liability.
18 *
19 * In this respect, the user's attention is drawn to the risks associated
20 * with loading, using, modifying and/or developing or reproducing the
21 * software by the user in light of its specific status of free software,
22 * that may mean that it is complicated to manipulate, and that also
23 * therefore means that it is reserved for developers and experienced
24 * professionals having in-depth computer knowledge. Users are therefore
25 * encouraged to load and test the software's suitability as regards their
26 * requirements in conditions enabling the security of their systems and/or
27 * data to be ensured and, more generally, to use and operate it in the
28 * same conditions as regards security.
29 *
30 * The fact that you are presently reading this means that you have had
31 * knowledge of the CeCILL-B license and that you accept its terms.
32 */
33
34#ifndef CARTOBASE_CONFIG_MESSAGES_H
35#define CARTOBASE_CONFIG_MESSAGES_H
36
38
39#ifdef CARTO_DEBUG
41 #include <iostream>
42#endif
43
44namespace carto {
45
46extern int verbose;
47
48extern int debugMessageLevel;
49
50} // namespace carto
51
52
53#define cartoDbgMsg( level, message ) if ( (level) <= ::carto::debugMessageLevel ) ::std::cerr << "!! " << (message) << ::std::endl;
54
55#define cartoDbgMsgVerb( level, message ) if ( (level) <= ::carto::debugMessageLevel ) ::std::cerr << "!! " << __FILE__ << " (" << __LINE__ << ")" << ::std::endl << " " << (message) << ::std::endl;
56
57#define catroDbgVar( level, variable ) if ( (level) <= ::carto::debugMessageLevel ) ::std::cerr << #variable " = " << toString( variable ) << :std::endl;
58
59#define cartoDbgVarVerb( level, variable ) if ( (level) <= ::carto::debugMessageLevel ) ::std::cerr << "!! " << __FILE__ << " (" << __LINE__ << ")" << ::std::endl << " " #variable " = " << toString( variable ) << ::std::endl;
60
61#define cartoMsg( level, message, space ) if( (level) <= ::carto::debugMessageLevel ) ::std::cout << (space) << ":: " << (message) << ::std::endl;
62
63/* conditional debug output: only active if CARTO_DEBUG is defined */
64
65#ifdef CARTO_DEBUG
66
67#define cartoCondDbgMsg( level, message ) cartoDbgMsg( level, message )
68
69#define cartoCondDbgMsgVerb( level, message ) cartoDbgMsgVerb( level, message )
70
71#define cartoCondDbgVar( level, variable ) cartoDbgVar( level, variable )
72
73#define cartoCondDbgVarVerb( level, variable ) cartoDbgVarVerb( level, variable )
74
75#define cartoCondMsg( level, message, space ) cartoMsg( level, message, space )
76
77#else
78
79#define cartoCondDbgMsg( level, message )
80
81#define cartoCondDbgMsgVerb( level, message )
82
83#define cartoCondDbgVar( level, message )
84
85#define cartoCondDbgVarVerb( level, message )
86
87#define cartoCondMsg( level, message, space )
88
89#endif
90
91#endif
92
int verbose
int debugMessageLevel