netgen/libsrc/occ/utilities.h

113 lines
3.4 KiB
C
Raw Permalink Normal View History

2009-01-14 02:14:02 +05:00
// SALOME Utils : general SALOME's definitions and tools
//
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
//
//
// File : utilities.h
// Author : Antoine YESSAYAN, Paul RASCLE, EDF
// Module : SALOME
// $Header: /cvs/netgen/netgen/libsrc/occ/utilities.h,v 1.3 2008/03/31 14:20:28 wabro Exp $
2018-02-07 00:12:24 +05:00
/* --- Definition macros file to print information if _DEBUG_ is defined --- */
2009-01-14 02:14:02 +05:00
#ifndef UTILITIES_H
#define UTILITIES_H
#include <string>
#include <iostream>
#include <cstdlib>
// #include "SALOME_Log.hxx"
/* --- INFOS is always defined (without _DEBUG_): to be used for warnings, with release version --- */
#define INFOS(msg) {SLog->putMessage(*SLog<<__FILE__<<" ["<<__LINE__<<"] : "<<msg<<endl);}
#define PYSCRIPT(msg) {SLog->putMessage(*SLog<<"---PYSCRIPT--- "<<msg<<endl);}
/* --- To print date and time of compilation of current source --- */
#if defined ( __GNUC__ )
#define COMPILER "g++"
#elif defined ( __sun )
#define COMPILER "CC"
#elif defined ( __KCC )
#define COMPILER "KCC"
#elif defined ( __PGI )
#define COMPILER "pgCC"
#elif defined ( __alpha )
#define COMPILER "cxx"
#else
#define COMPILER "undefined"
#endif
#ifdef INFOS_COMPILATION
#error INFOS_COMPILATION already defined
#endif
#define INFOS_COMPILATION { \
SLog->putMessage(\
*SLog<<__FILE__<<" ["<< __LINE__<<"] : "\
<< "COMPILED with " << COMPILER \
<< ", " << __DATE__ \
<< " at " << __TIME__ <<endl); }
#ifdef _DEBUG_
/* --- the following MACROS are useful at debug time --- */
#define MYTRACE *SLog << "- Trace " << __FILE__ << " [" << __LINE__ << "] : "
#define MESSAGE(msg) {SLog->putMessage( MYTRACE <<msg<<endl<<ends); }
#define SCRUTE(var) {SLog->putMessage( MYTRACE << #var << "=" << var <<endl<<ends); }
#define REPERE *SLog << " --------------" << endl
#define BEGIN_OF(msg) {REPERE;MYTRACE<<"Begin of: " <<msg<<endl;REPERE;}
#define END_OF(msg) {REPERE;MYTRACE<<"Normal end of: "<<msg<<endl;REPERE;}
#define HERE {cout<<flush ;cerr<<"- Trace "<<__FILE__<<" ["<<__LINE__<<"] : "<<flush ;}
#define INTERRUPTION(code) {HERE;cerr<<"INTERRUPTION return code= "<<code<< endl;std::exit(code);}
#ifndef ASSERT
#define ASSERT(condition) \
if (!(condition)){HERE;cerr<<"CONDITION "<<#condition<<" NOT VERIFIED"<<endl;INTERRUPTION(1);}
#endif /* ASSERT */
#else /* ifdef _DEBUG_*/
#define HERE
#define SCRUTE(var) {}
#define MESSAGE(msg) {}
#define REPERE
#define BEGIN_OF(msg) {}
#define END_OF(msg) {}
#define INTERRUPTION(code) {}
#ifndef ASSERT
#define ASSERT(condition) {}
#endif /* ASSERT */
#endif /* ifdef _DEBUG_*/
#endif /* ifndef UTILITIES_H */