NGSolve  5.3
ngstd/ngstd.hpp
00001 #ifndef FILE_NGSTD
00002 #define FILE_NGSTD
00003 
00004 /*********************************************************************/
00005 /* File:   ngstd.hpp                                                 */
00006 /* Author: Joachim Schoeberl                                         */
00007 /* Date:   25. Mar. 2000                                             */
00008 /*********************************************************************/
00009 
00010 /* 
00011    ng-standard classes
00012 */
00013 
00014 #include <ngs_stdcpp_include.hpp>
00015 
00016 #ifdef WIN32
00017    #ifdef NGINTERFACE_EXPORTS
00018       #define DLL_HEADER   __declspec(dllexport)
00019    #else
00020       #define DLL_HEADER   __declspec(dllimport)
00021    #endif
00022 
00023    #ifdef NGS_EXPORTS
00024       #define NGS_DLL_HEADER   __declspec(dllexport)
00025    #else
00026       #define NGS_DLL_HEADER   __declspec(dllimport)
00027    #endif
00028 
00029 
00030 #else
00031    #define DLL_HEADER 
00032 // #define NGS_DLL_HEADER 
00033 
00034 
00035 /*
00036    #ifdef NGINTERFACE_EXPORTS
00037       #define DLL_HEADER   __declspec(dllexport)
00038    #else
00039       #define DLL_HEADER   __declspec(dllimport)
00040    #endif
00041 */
00042 
00043    #ifdef NGS_EXPORTS
00044       #define NGS_DLL_HEADER   __attribute__ ((visibility ("default")))
00045    #else
00046       #define NGS_DLL_HEADER
00047    #endif
00048 
00049 
00050 #endif
00051 
00052 /*
00053 inline void * operator new (size_t cnt)
00054 {
00055   static int cnt_new = 0;
00056   cnt_new++;
00057   std::cout << "private new called, cnt = " << cnt_new << ", bytes = " << cnt << std::endl;
00058   return operator new(cnt, std::nothrow);
00059 }
00060 
00061 inline void * operator new[] (size_t cnt)
00062 {
00063   static int cnt_new = 0;
00064   cnt_new++;
00065   std::cout << "private new[] called, cnt = " << cnt_new << ", bytes = " << cnt << std::endl;
00066   return operator new[](cnt, std::nothrow);
00067 }
00068 */
00069 
00070 
00071 
00072 
00073 
00074 // #include "dynamicmem.hpp"
00075 
00076 
00077 namespace ngstd
00078 {
00079   NGS_DLL_HEADER extern ::std::ostream * testout;
00080   NGS_DLL_HEADER extern int printmessage_importance;
00081 }
00082 
00083 
00084 
00085 /*
00086 namespace ngstd
00087 {
00088   using netgen::DynamicMem;
00089 }
00090 */
00091 
00092 
00100 namespace ngstd
00101 {
00102   using namespace std;
00103 }
00104 
00105 #include <ngs_defines.hpp>
00106 
00107 #ifdef USE_MYCOMPLEX
00108 #include "mycomplex.hpp"  
00109 #endif
00110 
00111 #include "ngs_utils.hpp"
00112 #include "archive_base.hpp"    
00113 #include "ngsstream.hpp"  
00114 #include "templates.hpp"
00115 #include "exception.hpp"
00116 #include "localheap.hpp"
00117 #include "profiler.hpp"
00118 
00119 #include "tuple.hpp"
00120 #include "array.hpp"
00121 #include "table.hpp"
00122 #include "symboltable.hpp"
00123 #include "hashtable.hpp"
00124 #include "bitarray.hpp"
00125 
00126 #include "blockalloc.hpp"
00127 #include "autoptr.hpp"
00128 #include "memusage.hpp"
00129 #include "flags.hpp"
00130 
00131 #include "evalfunc.hpp"
00132 // namespace ngstd { class EvalFunction; }
00133 
00134 #include "autodiff.hpp"
00135 #include "autodiffdiff.hpp"
00136 #include "polorder.hpp"
00137 #include "stringops.hpp"
00138 #include "statushandler.hpp"
00139 
00140 #include "mpiwrapper.hpp"
00141 #include "taskmanager.hpp"
00142 #ifndef WIN32
00143 #include "sockets.hpp"
00144 #endif
00145 #include "archive.hpp"
00146 
00147 namespace ngstd
00148 {
00149 #ifdef WIN32
00150   const char dirslash = '\\';
00151 #else
00152   const char dirslash = '/';
00153 #endif
00154 }
00155 
00156 
00157 inline void NOOP_Deleter(void *) { ; }
00158 
00159 
00160 #ifdef GOLD
00161 #include <ngstd_gold.hpp>
00162 #endif
00163 
00164 
00165 
00166 #include "cuda_ngstd.hpp"
00167 
00168 #endif