Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

VerboseLevel.h

Go to the documentation of this file.
00001 #ifndef __VERBOSELEVEL_H
00002 #define __VERBOSELEVEL_H
00003 
00004 #ifndef COMPILE_TIME_MAX_VERBOSE_LEVEL
00005 
00006 #define COMPILE_TIME_MAX_VERBOSE_LEVEL 10
00007 #endif
00008 
00013 namespace Teem
00014 {
00017     extern unsigned verboseLevel;
00018     
00021     struct ChangeVerbosity
00022     {
00024         ChangeVerbosity(unsigned v) { oldVerbosity = verboseLevel; verboseLevel = v; }
00026         ~ChangeVerbosity() { verboseLevel = oldVerbosity; }
00027         
00028         unsigned oldVerbosity; 
00029     };
00030 }
00031 
00033 #define COUT(lvl, s) \
00034     do { if ((lvl <= COMPILE_TIME_MAX_VERBOSE_LEVEL) && (lvl <= ::Teem::verboseLevel)) { std::cout << s; } } while(false)
00035 
00036 #define CERR(s) \
00037     do { if ((1 <= COMPILE_TIME_MAX_VERBOSE_LEVEL) && (1 <= ::Teem::verboseLevel)) { std::cerr << s; } } while(false)
00038 
00039 #endif //__VERBOSELEVEL_H

Generated on Mon Oct 24 17:38:25 2005 for Teem by  doxygen 1.4.2