Version: 9.12.0
MED_Utilities.hxx
Go to the documentation of this file.
1 // Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 
23 #ifndef MED_Utilities_HeaderFile
24 #define MED_Utilities_HeaderFile
25 
26 #include "MED_WrapperDef.hxx"
27 #include "utilities.h"
28 
29 #include <iostream>
30 #include <sstream>
31 #include <string>
32 #include <string.h>
33 #include <stdexcept>
34 
35 namespace MED
36 {
38  {
39  static int myCounter;
40  bool myIsActive;
41  public:
42  PrefixPrinter(bool theIsActive = true);
43  ~PrefixPrinter() noexcept(false);
44 
45  static std::string GetPrefix();
46  };
47 }
48 
49 #define MSG(msg) if(SALOME::VerbosityActivated()) std::cout<<MED::PrefixPrinter::GetPrefix()<<msg<<" ("<<__FILE__<<" ["<<__LINE__<<"])\n"; else (void)0
50 #define BEGMSG(msg) if(SALOME::VerbosityActivated()) std::cout<<MED::PrefixPrinter::GetPrefix()<<msg; else (void)0
51 #define INITMSGA(lev,msg) if(SALOME::VerbosityActivated()) { MED::PrefixPrinter aPrefixPrinter_##lev(true); BEGMSG(msg); } else (void)0
52 #define INITMSG(msg) INITMSGA(,msg)
53 #define ADDMSG(msg) if(SALOME::VerbosityActivated()) std::cout<<msg; else (void)0
54 
55 #ifndef EXCEPTION
56 
57 #define EXCEPTION(TYPE, MSG) {\
58  std::ostringstream aStream;\
59  aStream<<__FILE__<<"["<<__LINE__<<"]::"<<MSG;\
60  throw TYPE(aStream.str().c_str());\
61 }
62 
63 #endif // EXCEPTION
64 
65 #endif // MED_Utilities_HeaderFile
#define MEDWRAPPER_EXPORT
Definition: MED_WrapperDef.hxx:33
Definition: MED_Utilities.hxx:38
bool myIsActive
Definition: MED_Utilities.hxx:40
static int myCounter
Definition: MED_Utilities.hxx:39
Definition: MED_Algorithm.cxx:28