00001 /********************************************************************** 00002 ** This program is part of 'MOOSE', the 00003 ** Messaging Object Oriented Simulation Environment, 00004 ** also known as GENESIS 3 base code. 00005 ** copyright (C) 2003-2004 Upinder S. Bhalla. and NCBS 00006 ** It is made available under the terms of the 00007 ** GNU Lesser Public License version 2.1 00008 ** See the file COPYING.LIB for the full notice. 00009 **********************************************************************/ 00010 00011 #ifndef _HEADER_H 00012 #define _HEADER_H 00013 00014 #include "../external/debug/print_function.hpp" 00015 00016 #include <math.h> 00017 #include <algorithm> 00018 #include <vector> 00019 #include <string> 00020 #include <map> 00021 #include <iostream> 00022 #include <sstream> 00023 #include <typeinfo> // used in Conv.h to extract compiler independent typeid 00024 #include <climits> // Required for g++ 4.3.2 00025 #include <cstring> // Required for g++ 4.3.2 00026 #include <cstdlib> // Required for g++ 4.3.2 00027 00028 // Used for INT_MAX and UINT_MAX, but may be done within the compiler 00029 // #include <limits.h> 00030 // 00031 #include <cassert> 00032 00033 using namespace std; 00034 00035 // MOOSE version is hard coded here. Can be overridden from a 00036 // makefile. 00037 #ifndef MOOSE_VERSION 00038 #define MOOSE_VERSION "2.0.0" 00039 #endif 00040 // SVN revision number should be automatically detected in top level 00041 // Makefile and passed to gcc. For release versions, it defaults to 00042 // "0". 00043 #ifndef SVN_REVISION 00044 #define SVN_REVISION "0" 00045 #endif 00046 00050 typedef unsigned int FuncId; 00051 00055 typedef unsigned int DataId; 00056 00062 extern const unsigned int ALLDATA; // Defined in consts.cpp 00063 00065 extern const unsigned int BADINDEX; // Defined in consts.cpp 00066 00070 typedef unsigned short BindIndex; 00071 00072 extern const double PI; // Defined in consts.cpp 00073 extern const double NA; // Defined in consts.cpp 00074 extern const double FaradayConst; // Defined in consts.cpp 00075 extern const double GasConst; // Defined in consts.cpp 00076 00077 class Element; 00078 class Eref; 00079 class OpFunc; 00080 class Cinfo; 00081 class SetGet; 00082 class FuncBarrier; 00083 class ObjId; 00084 class SrcFinfo; 00085 00086 #include "doubleEq.h" 00087 #include "Id.h" 00088 #include "ObjId.h" 00089 #include "Finfo.h" 00090 #include "DestFinfo.h" 00091 #include "ProcInfo.h" 00092 #include "Cinfo.h" 00093 #include "MsgFuncBinding.h" 00094 #include "../msg/Msg.h" 00095 #include "Dinfo.h" 00096 #include "MsgDigest.h" 00097 #include "Element.h" 00098 #include "DataElement.h" 00099 #include "GlobalDataElement.h" 00100 #include "LocalDataElement.h" 00101 #include "Eref.h" 00102 #include "Conv.h" 00103 #include "SrcFinfo.h" 00104 00105 extern DestFinfo* receiveGet(); 00106 class Neutral; 00107 #include "OpFuncBase.h" 00108 #include "HopFunc.h" 00109 #include "SetGet.h" 00110 #include "OpFunc.h" 00111 #include "EpFunc.h" 00112 #include "ProcOpFunc.h" 00113 #include "ValueFinfo.h" 00114 #include "LookupValueFinfo.h" 00115 #include "ValueFinfo.h" 00116 #include "SharedFinfo.h" 00117 #include "FieldElementFinfo.h" 00118 #include "FieldElement.h" 00119 #include "../shell/Neutral.h" 00120 00121 #endif // _HEADER_H