Safir SDK Core
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Dob/Typesystem/Defs.h
Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright Saab AB, 2004-2013 (http://safir.sourceforge.net)
4 *
5 * Created by: Joel Ottosson / stjoot
6 *
7 *******************************************************************************
8 *
9 * This file is part of Safir SDK Core.
10 *
11 * Safir SDK Core is free software: you can redistribute it and/or modify
12 * it under the terms of version 3 of the GNU General Public License as
13 * published by the Free Software Foundation.
14 *
15 * Safir SDK Core is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with Safir SDK Core. If not, see <http://www.gnu.org/licenses/>.
22 *
23 ******************************************************************************/
24 
25 #ifndef __SAFIR_DOB_TYPESYSTEM_DEFS_H__
26 #define __SAFIR_DOB_TYPESYSTEM_DEFS_H__
27 
28 #if defined _MSC_VER
29  #if defined DOTS_EXPORTS
30  #define DOTS_API __declspec(dllexport)
31  #else
32  #define DOTS_API __declspec(dllimport)
33  #define SAFIR_LIBRARY_NAME "dots_cpp"
34  #include <Safir/Utilities/Internal/AutoLink.h>
35  #endif
36 #elif defined __GNUC__
37  #define DOTS_API
38  #define __cdecl
39 #endif
40 
41 #include <Safir/Utilities/Internal/UnorderedMap.h>
42 #include <Safir/Dob/Typesystem/Internal/KernelDefs.h>
43 #include <string>
44 #include <vector>
48 namespace Safir
49 {
53 namespace Dob
54 {
58 namespace Typesystem
59 {
69  typedef DotsC_Int32 Int32;
72  typedef DotsC_Int64 Int64;
75  typedef DotsC_Float32 Float32;
78  typedef DotsC_Float64 Float64;
88  namespace Si32
89  {
91  typedef Float32 Ampere;
92 
95 
97  typedef Float32 Hertz;
98 
100  typedef Float32 Joule;
101 
103  typedef Float32 Kelvin;
104 
106  typedef Float32 Kilogram;
107 
109  typedef Float32 Meter;
110 
113 
116 
118  typedef Float32 Newton;
119 
121  typedef Float32 Pascal;
122 
124  typedef Float32 Radian;
125 
128 
131 
133  typedef Float32 Second;
134 
137 
140 
142  typedef Float32 Volt;
143 
145  typedef Float32 Watt;
146  }
147 
155  namespace Si64
156  {
158  typedef Float64 Ampere;
159 
162 
164  typedef Float64 Hertz;
165 
167  typedef Float64 Joule;
168 
170  typedef Float64 Kelvin;
171 
173  typedef Float64 Kilogram;
174 
176  typedef Float64 Meter;
177 
180 
183 
185  typedef Float64 Newton;
186 
188  typedef Float64 Pascal;
189 
191  typedef Float64 Radian;
192 
195 
198 
200  typedef Float64 Second;
201 
204 
207 
209  typedef Float64 Volt;
210 
212  typedef Float64 Watt;
213  }
214 
221  typedef DotsC_TypeId TypeId;
222 
224  typedef std::vector<TypeId> TypeIdVector;
225 
240  typedef DotsC_MemberIndex MemberIndex;
241 
249  typedef DotsC_ArrayIndex ArrayIndex;
250 
259  typedef DotsC_ParameterIndex ParameterIndex;
260 
273  typedef DotsC_EnumerationValue EnumerationValue;
274 
281  typedef DotsC_MemberType MemberType;
282 
289  typedef std::vector<char> BinarySerialization;
290 
296  typedef std::vector<char> Binary;
297 }
298 }
299 }
300 #endif
Float64 Volt
64 bit representation of Volt.
Definition: Dob/Typesystem/Defs.h:209
Float64 Joule
64 bit representation of Joule.
Definition: Dob/Typesystem/Defs.h:167
Float64 SquareMeter
64 bit representation of SquareMeter.
Definition: Dob/Typesystem/Defs.h:203
Float32 Steradian
32 bit representation of Steradian.
Definition: Dob/Typesystem/Defs.h:139
Float32 Second
32 bit representation of Second.
Definition: Dob/Typesystem/Defs.h:133
Float32 MeterPerSecond
32 bit representation of MeterPerSecond.
Definition: Dob/Typesystem/Defs.h:112
Float64 Meter
64 bit representation of Meter.
Definition: Dob/Typesystem/Defs.h:176
std::vector< char > BinarySerialization
A type to contain binary serializations of DOB objects.
Definition: Dob/Typesystem/Defs.h:289
Float64 Hertz
64 bit representation of Hertz.
Definition: Dob/Typesystem/Defs.h:164
Float32 Joule
32 bit representation of Joule.
Definition: Dob/Typesystem/Defs.h:100
DotsC_Float64 Float64
64 bit floating point type.
Definition: Dob/Typesystem/Defs.h:78
Float32 Volt
32 bit representation of Volt.
Definition: Dob/Typesystem/Defs.h:142
Float32 Watt
32 bit representation of Watt.
Definition: Dob/Typesystem/Defs.h:145
Float64 RadianPerSecond
64 bit representation of RadianPerSecond.
Definition: Dob/Typesystem/Defs.h:194
Float64 Ampere
64 bit representation of Ampere.
Definition: Dob/Typesystem/Defs.h:158
Float64 Steradian
64 bit representation of Steradian.
Definition: Dob/Typesystem/Defs.h:206
DotsC_Int64 Int64
64 bit integer type.
Definition: Dob/Typesystem/Defs.h:72
DotsC_TypeId TypeId
A unique type identifier.
Definition: Dob/Typesystem/Defs.h:221
Float64 Watt
64 bit representation of Watt.
Definition: Dob/Typesystem/Defs.h:212
Float64 Second
64 bit representation of Second.
Definition: Dob/Typesystem/Defs.h:200
DotsC_Float32 Float32
32 bit floating point type.
Definition: Dob/Typesystem/Defs.h:75
Float32 CubicMeter
32 bit representation of CubicMeter.
Definition: Dob/Typesystem/Defs.h:94
Float32 Newton
32 bit representation of Newton.
Definition: Dob/Typesystem/Defs.h:118
DotsC_ParameterIndex ParameterIndex
The index of a parameter in an object.
Definition: Dob/Typesystem/Defs.h:259
Float64 Newton
64 bit representation of Newton.
Definition: Dob/Typesystem/Defs.h:185
DotsC_ArrayIndex ArrayIndex
Index into an array.
Definition: Dob/Typesystem/Defs.h:249
Float64 CubicMeter
64 bit representation of CubicMeter.
Definition: Dob/Typesystem/Defs.h:161
Float32 Pascal
32 bit representation of Pascal.
Definition: Dob/Typesystem/Defs.h:121
Float64 RadianPerSecondSquared
64 bit representation of RadianPerSecondSquared.
Definition: Dob/Typesystem/Defs.h:197
Float32 SquareMeter
32 bit representation of SquareMeter.
Definition: Dob/Typesystem/Defs.h:136
Float32 MeterPerSecondSquared
32 bit representation of MeterPerSecondSquared.
Definition: Dob/Typesystem/Defs.h:115
Float64 MeterPerSecond
64 bit representation of MeterPerSecond.
Definition: Dob/Typesystem/Defs.h:179
Float32 Hertz
32 bit representation of Hertz.
Definition: Dob/Typesystem/Defs.h:97
Float64 Kilogram
64 bit representation of Kilogram.
Definition: Dob/Typesystem/Defs.h:173
Float32 RadianPerSecond
32 bit representation of RadianPerSecond.
Definition: Dob/Typesystem/Defs.h:127
Float64 MeterPerSecondSquared
64 bit representation of MeterPerSecondSquared.
Definition: Dob/Typesystem/Defs.h:182
Float32 RadianPerSecondSquared
32 bit representation of RadianPerSecondSquared.
Definition: Dob/Typesystem/Defs.h:130
DotsC_EnumerationValue EnumerationValue
The ordinal value of an enumeration.
Definition: Dob/Typesystem/Defs.h:273
Float64 Pascal
64 bit representation of Pascal.
Definition: Dob/Typesystem/Defs.h:188
Float32 Kelvin
32 bit representation of Kelvin.
Definition: Dob/Typesystem/Defs.h:103
Float32 Meter
32 bit representation of Meter.
Definition: Dob/Typesystem/Defs.h:109
Float32 Ampere
32 bit representation of Ampere.
Definition: Dob/Typesystem/Defs.h:91
Float64 Kelvin
64 bit representation of Kelvin.
Definition: Dob/Typesystem/Defs.h:170
Float32 Kilogram
32 bit representation of Kilogram.
Definition: Dob/Typesystem/Defs.h:106
Float32 Radian
32 bit representation of Radian.
Definition: Dob/Typesystem/Defs.h:124
DotsC_Int32 Int32
32 bit integer type.
Definition: Dob/Typesystem/Defs.h:69
DotsC_MemberIndex MemberIndex
The index of a member in an object.
Definition: Dob/Typesystem/Defs.h:240
DotsC_MemberType MemberType
An enumeration of all possible types of an object member.
Definition: Dob/Typesystem/Defs.h:281
std::vector< char > Binary
A type to contain binary data.
Definition: Dob/Typesystem/Defs.h:296
Float64 Radian
64 bit representation of Radian.
Definition: Dob/Typesystem/Defs.h:191
std::vector< TypeId > TypeIdVector
A vector of TypeIds.
Definition: Dob/Typesystem/Defs.h:224