escript
Revision_
|
00001 00002 /***************************************************************************** 00003 * 00004 * Copyright (c) 2003-2014 by University of Queensland 00005 * http://www.uq.edu.au 00006 * 00007 * Primary Business: Queensland, Australia 00008 * Licensed under the Open Software License version 3.0 00009 * http://www.opensource.org/licenses/osl-3.0.php 00010 * 00011 * Development until 2012 by Earth Systems Science Computational Center (ESSCC) 00012 * Development 2012-2013 by School of Earth Sciences 00013 * Development from 2014 by Centre for Geoscience Computing (GeoComp) 00014 * 00015 *****************************************************************************/ 00016 00017 #ifndef __WEIPA_H__ 00018 #define __WEIPA_H__ 00019 00020 #include <string> 00021 #include <vector> 00022 #include <map> 00023 #include <boost/shared_ptr.hpp> 00024 00025 #ifdef ESYS_MPI 00026 #define HAVE_MPI 1 00027 #endif 00028 00029 #if HAVE_MPI 00030 #include <mpi.h> 00031 #endif 00032 00033 #define WEIPA_DLL_API 00034 00035 #ifdef _WIN32 00036 # ifndef WEIPA_STATIC_LIB 00037 # undef WEIPA_DLL_API 00038 # ifdef WEIPA_EXPORTS 00039 # define WEIPA_DLL_API __declspec(dllexport) 00040 # else 00041 # define WEIPA_DLL_API __declspec(dllimport) 00042 # endif 00043 # endif 00044 #endif 00045 00046 namespace weipa { 00047 00048 class DataVar; 00049 class DomainChunk; 00050 class ElementData; 00051 class EscriptDataset; 00052 class NodeData; 00053 00054 typedef std::vector<float> FloatVec; 00055 typedef std::vector<int> IntVec; 00056 typedef std::vector<std::string> StringVec; 00057 typedef std::vector<float*> CoordArray; 00058 typedef std::map<int, size_t> IndexMap; 00059 00060 typedef boost::shared_ptr<DataVar> DataVar_ptr; 00061 typedef boost::shared_ptr<DomainChunk> DomainChunk_ptr; 00062 typedef boost::shared_ptr<ElementData> ElementData_ptr; 00063 typedef boost::shared_ptr<EscriptDataset> EscriptDataset_ptr; 00064 typedef boost::shared_ptr<NodeData> NodeData_ptr; 00065 00066 typedef boost::shared_ptr<const DomainChunk> const_DomainChunk_ptr; 00067 typedef boost::shared_ptr<const EscriptDataset> const_EscriptDataset_ptr; 00068 00069 } // namespace weipa 00070 00071 #endif // __WEIPA_H__ 00072