escript  Revision_Unversioneddirectory
weipa.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2016 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Apache License, version 2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development 2012-2013 by School of Earth Sciences
13 * Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 *
15 *****************************************************************************/
16 
17 #ifndef __WEIPA_H__
18 #define __WEIPA_H__
19 
20 #include <string>
21 #include <vector>
22 #include <map>
23 #include <boost/shared_ptr.hpp>
24 
25 #ifdef ESYS_MPI
26 #define HAVE_MPI 1
27 #endif
28 
29 #if HAVE_MPI
30 #include <mpi.h>
31 #endif
32 
33 #define WEIPA_DLL_API
34 
35 #ifdef _WIN32
36 # ifndef WEIPA_STATIC_LIB
37 # undef WEIPA_DLL_API
38 # ifdef WEIPA_EXPORTS
39 # define WEIPA_DLL_API __declspec(dllexport)
40 # else
41 # define WEIPA_DLL_API __declspec(dllimport)
42 # endif
43 # endif
44 #endif
45 
46 namespace weipa {
47 
48 class DataVar;
49 class DomainChunk;
50 class ElementData;
51 class EscriptDataset;
52 class NodeData;
53 
54 typedef std::vector<float> FloatVec;
55 typedef std::vector<int> IntVec;
56 typedef std::vector<std::string> StringVec;
57 typedef std::vector<float*> CoordArray;
58 typedef std::map<int, size_t> IndexMap;
59 
60 typedef boost::shared_ptr<DataVar> DataVar_ptr;
61 typedef boost::shared_ptr<DomainChunk> DomainChunk_ptr;
62 typedef boost::shared_ptr<ElementData> ElementData_ptr;
63 typedef boost::shared_ptr<EscriptDataset> EscriptDataset_ptr;
64 typedef boost::shared_ptr<NodeData> NodeData_ptr;
65 
66 typedef boost::shared_ptr<const DomainChunk> const_DomainChunk_ptr;
67 typedef boost::shared_ptr<const EscriptDataset> const_EscriptDataset_ptr;
68 
69 } // namespace weipa
70 
71 #endif // __WEIPA_H__
72 
boost::shared_ptr< const EscriptDataset > const_EscriptDataset_ptr
Definition: weipa.h:67
std::vector< float * > CoordArray
Definition: weipa.h:57
boost::shared_ptr< DomainChunk > DomainChunk_ptr
Definition: weipa.h:61
std::vector< std::string > StringVec
Definition: weipa.h:56
Definition: NodeData.h:26
Definition: DataVar.cpp:43
std::vector< int > IntVec
Definition: weipa.h:55
std::map< int, size_t > IndexMap
Definition: weipa.h:58
boost::shared_ptr< DataVar > DataVar_ptr
Definition: weipa.h:60
boost::shared_ptr< EscriptDataset > EscriptDataset_ptr
Definition: weipa.h:63
boost::shared_ptr< ElementData > ElementData_ptr
Definition: weipa.h:62
boost::shared_ptr< const DomainChunk > const_DomainChunk_ptr
Definition: weipa.h:66
std::vector< float > FloatVec
Definition: weipa.h:52
boost::shared_ptr< NodeData > NodeData_ptr
Definition: weipa.h:64