NGSolve
5.3
|
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