1 |
|
2 |
/******************************************************* |
3 |
* |
4 |
* Copyright (c) 2003-2009 by University of Queensland |
5 |
* Earth Systems Science Computational Center (ESSCC) |
6 |
* http://www.uq.edu.au/esscc |
7 |
* |
8 |
* Primary Business: Queensland, Australia |
9 |
* Licensed under the Open Software License version 3.0 |
10 |
* http://www.opensource.org/licenses/osl-3.0.php |
11 |
* |
12 |
*******************************************************/ |
13 |
|
14 |
#ifndef __ESCRIPTEXPORT_H__ |
15 |
#define __ESCRIPTEXPORT_H__ |
16 |
|
17 |
#include <string> |
18 |
#include <vector> |
19 |
#include <map> |
20 |
#include <boost/shared_ptr.hpp> |
21 |
|
22 |
#ifdef PASO_MPI |
23 |
#define HAVE_MPI 1 |
24 |
#endif |
25 |
|
26 |
#if HAVE_MPI |
27 |
#include <mpi.h> |
28 |
#endif |
29 |
|
30 |
#define ESCRIPTEXPORT_DLL_API |
31 |
|
32 |
#ifdef _WIN32 |
33 |
# ifndef ESCRIPTEXPORT_STATIC_LIB |
34 |
# undef ESCRIPTEXPORT_DLL_API |
35 |
# ifdef ESCRIPTEXPORT_EXPORTS |
36 |
# define ESCRIPTEXPORT_DLL_API __declspec(dllexport) |
37 |
# else |
38 |
# define ESCRIPTEXPORT_DLL_API __declspec(dllimport) |
39 |
# endif |
40 |
# endif |
41 |
#endif |
42 |
|
43 |
namespace escriptexport { |
44 |
|
45 |
class DataVar; |
46 |
class ElementData; |
47 |
class EscriptDataset; |
48 |
class FinleyMesh; |
49 |
class NodeData; |
50 |
|
51 |
typedef std::vector<std::string> StringVec; |
52 |
typedef std::vector<float> FloatVec; |
53 |
typedef std::vector<int> IntVec; |
54 |
typedef std::vector<float*> CoordArray; |
55 |
typedef std::map<int, size_t> IndexMap; |
56 |
|
57 |
typedef boost::shared_ptr<DataVar> DataVar_ptr; |
58 |
typedef boost::shared_ptr<ElementData> ElementData_ptr; |
59 |
typedef boost::shared_ptr<FinleyMesh> FinleyMesh_ptr; |
60 |
typedef boost::shared_ptr<NodeData> NodeData_ptr; |
61 |
typedef boost::shared_ptr<EscriptDataset> EscriptDataset_ptr; |
62 |
|
63 |
} // namespace escriptexport |
64 |
|
65 |
#endif // __ESCRIPTEXPORT_H__ |
66 |
|