Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __WEIPA_H__
00015 #define __WEIPA_H__
00016
00017 #include <string>
00018 #include <vector>
00019 #include <map>
00020 #include <boost/shared_ptr.hpp>
00021
00022 #ifdef ESYS_MPI
00023 #define HAVE_MPI 1
00024 #endif
00025
00026 #if HAVE_MPI
00027 #include <mpi.h>
00028 #endif
00029
00030 #define WEIPA_DLL_API
00031
00032 #ifdef _WIN32
00033 # ifndef WEIPA_STATIC_LIB
00034 # undef WEIPA_DLL_API
00035 # ifdef WEIPA_EXPORTS
00036 # define WEIPA_DLL_API __declspec(dllexport)
00037 # else
00038 # define WEIPA_DLL_API __declspec(dllimport)
00039 # endif
00040 # endif
00041 #endif
00042
00043 namespace weipa {
00044
00045 class DataVar;
00046 class DomainChunk;
00047 class ElementData;
00048 class EscriptDataset;
00049 class NodeData;
00050
00051 typedef std::vector<float> FloatVec;
00052 typedef std::vector<int> IntVec;
00053 typedef std::vector<std::string> StringVec;
00054 typedef std::vector<float*> CoordArray;
00055 typedef std::map<int, size_t> IndexMap;
00056
00057 typedef boost::shared_ptr<DataVar> DataVar_ptr;
00058 typedef boost::shared_ptr<DomainChunk> DomainChunk_ptr;
00059 typedef boost::shared_ptr<ElementData> ElementData_ptr;
00060 typedef boost::shared_ptr<EscriptDataset> EscriptDataset_ptr;
00061 typedef boost::shared_ptr<NodeData> NodeData_ptr;
00062
00063 typedef boost::shared_ptr<const DomainChunk> const_DomainChunk_ptr;
00064 typedef boost::shared_ptr<const EscriptDataset> const_EscriptDataset_ptr;
00065
00066 }
00067
00068 #endif // __WEIPA_H__
00069