You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							90 lines
						
					
					
						
							2.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							90 lines
						
					
					
						
							2.7 KiB
						
					
					
				| //============================================================================= | |
| // File      : utilities.h | |
| // Created   : mar jun 19 13:18:14 CEST 2001 | |
| // Author    : Antoine YESSAYAN, Paul RASCLE, EDF | |
| // Project   : SALOME | |
| // Copyright : EDF 2001 | |
| // $Header$ | |
| //============================================================================= | |
|  | |
| /* ---  Definition macros file to print information if _DEBUG_ is defined --- */ | |
| 
 | |
| # ifndef UTILITIES_H | |
| # define UTILITIES_H | |
|  | |
| # include <stdlib.h> | |
| //# include <iostream> ok for gcc3.01 | |
| # include <iostream> | |
|  | |
| /* ---  INFOS is always defined (without _DEBUG_): to be used for warnings, with release version --- */ | |
| 
 | |
| # define HEREWEARE cout<<flush ; cerr << __FILE__ << " [" << __LINE__ << "] : " << flush ; | |
| # define INFOS(chain) {HEREWEARE ; cerr << chain << endl ;} | |
| # define PYSCRIPT(chain) {cout<<flush ; cerr << "---PYSCRIPT--- " << chain << endl ;} | |
|  | |
| /* --- To print date and time of compilation of current source on stdout --- */ | |
| 
 | |
| # if defined ( __GNUC__ ) | |
| # define COMPILER		"g++" ; | |
| # elif defined ( __sun ) | |
| # define COMPILER		"CC" ; | |
| # elif defined ( __KCC ) | |
| # define COMPILER		"KCC" ; | |
| # elif defined ( __PGI ) | |
| # define COMPILER		"pgCC" ; | |
| # else | |
| # define COMPILER		"undefined" ; | |
| # endif | |
|  | |
| # ifdef INFOS_COMPILATION | |
| # error INFOS_COMPILATION already defined | |
| # endif | |
| # define INFOS_COMPILATION	{\ | |
| 					cerr << flush;\ | |
| 					cout << __FILE__ ;\ | |
| 					cout << " [" << __LINE__ << "] : " ;\ | |
| 					cout << "COMPILED with " << COMPILER ;\ | |
| 					cout << ", " << __DATE__ ; \ | |
| 					cout << " at " << __TIME__ << endl ;\ | |
| 					cout << "\n\n" ;\ | |
| 					cout << flush ;\ | |
| 				} | |
|  | |
| # ifdef _DEBUG_ | |
|  | |
| /* --- the following MACROS are useful at debug time --- */ | |
| 
 | |
| # define HERE cout<<flush ; cerr << "- Trace " << __FILE__ << " [" << __LINE__ << "] : " << flush ; | |
| # define SCRUTE(var) HERE ; cerr << #var << "=" << var << endl ; | |
| # define MESSAGE(chain) {HERE ; cerr << chain << endl ;} | |
| # define INTERRUPTION(code) HERE ; cerr << "INTERRUPTION return code= " << code << endl ; exit(code) ; | |
|  | |
| # ifndef ASSERT | |
| # define ASSERT(condition) if (!(condition)){ HERE ; cerr << "CONDITION " << #condition << " NOT VERIFIED"<< endl ; INTERRUPTION(1) ;} | |
| # endif /* ASSERT */ | |
|  | |
| #define REPERE cout<<flush ; cerr << "   --------------" << endl << flush ; | |
| #define BEGIN_OF(chain) {REPERE ; HERE ; cerr << "Begin of: " << chain << endl ; REPERE ; } | |
| #define END_OF(chain) {REPERE ; HERE ; cerr << "Normal end of: " << chain << endl ; REPERE ; } | |
|  | |
| 
 | |
| 
 | |
| # else /* ifdef _DEBUG_*/ | |
|  | |
| # define HERE | |
| # define SCRUTE(var) | |
| # define MESSAGE(chain) | |
| # define INTERRUPTION(code) | |
|  | |
| # ifndef ASSERT | |
| # define ASSERT(condition) | |
| # endif /* ASSERT */ | |
|  | |
| #define REPERE | |
| #define BEGIN_OF(chain) | |
| #define END_OF(chain) | |
|  | |
| 
 | |
| # endif /* ifdef _DEBUG_*/ | |
|  | |
| # endif /* ifndef UTILITIES_H */
 |