Safir SDK Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 #include <Safir/Utilities/Internal/VisibilityHelpers.h>
29 
30 #ifdef dots_cpp_EXPORTS
31 # define DOTS_CPP_API SAFIR_HELPER_DLL_EXPORT
32 #else
33 # define DOTS_CPP_API SAFIR_HELPER_DLL_IMPORT
34 # define SAFIR_LIBRARY_NAME "dots_cpp"
35 # include <Safir/Utilities/Internal/AutoLink.h>
36 #endif
37 #define DOTS_CPP_LOCAL SAFIR_HELPER_DLL_LOCAL
38 
39 #include <Safir/Utilities/Internal/UnorderedMap.h>
40 #include <Safir/Dob/Typesystem/LanguageInterfaceDefs.h>
41 #include <string>
42 #include <vector>
46 namespace Safir
47 {
51 namespace Dob
52 {
56 namespace Typesystem
57 {
67  typedef DotsC_Int32 Int32;
70  typedef DotsC_Int64 Int64;
73  typedef DotsC_Float32 Float32;
76  typedef DotsC_Float64 Float64;
86  namespace Si32
87  {
89  typedef Float32 Ampere;
90 
93 
95  typedef Float32 Hertz;
96 
98  typedef Float32 Joule;
99 
101  typedef Float32 Kelvin;
102 
104  typedef Float32 Kilogram;
105 
107  typedef Float32 Meter;
108 
111 
114 
116  typedef Float32 Newton;
117 
119  typedef Float32 Pascal;
120 
122  typedef Float32 Radian;
123 
126 
129 
131  typedef Float32 Second;
132 
135 
138 
140  typedef Float32 Volt;
141 
143  typedef Float32 Watt;
144  }
145 
153  namespace Si64
154  {
156  typedef Float64 Ampere;
157 
160 
162  typedef Float64 Hertz;
163 
165  typedef Float64 Joule;
166 
168  typedef Float64 Kelvin;
169 
171  typedef Float64 Kilogram;
172 
174  typedef Float64 Meter;
175 
178 
181 
183  typedef Float64 Newton;
184 
186  typedef Float64 Pascal;
187 
189  typedef Float64 Radian;
190 
193 
196 
198  typedef Float64 Second;
199 
202 
205 
207  typedef Float64 Volt;
208 
210  typedef Float64 Watt;
211  }
212 
219  typedef DotsC_TypeId TypeId;
220 
222  typedef std::vector<TypeId> TypeIdVector;
223 
238  typedef DotsC_MemberIndex MemberIndex;
239 
247  typedef DotsC_ArrayIndex ArrayIndex;
248 
257  typedef DotsC_ParameterIndex ParameterIndex;
258 
271  typedef DotsC_EnumerationValue EnumerationValue;
272 
279  typedef DotsC_MemberType MemberType;
280 
287  typedef std::vector<char> BinarySerialization;
288 
294  typedef std::vector<char> Binary;
295 }
296 }
297 }
298 #endif
Float64 Volt
64 bit representation of Volt.
Definition: Defs.h:207
Float64 Joule
64 bit representation of Joule.
Definition: Defs.h:165
Float64 SquareMeter
64 bit representation of SquareMeter.
Definition: Defs.h:201
Float32 Steradian
32 bit representation of Steradian.
Definition: Defs.h:137
Float32 Second
32 bit representation of Second.
Definition: Defs.h:131
Float32 MeterPerSecond
32 bit representation of MeterPerSecond.
Definition: Defs.h:110
Float64 Meter
64 bit representation of Meter.
Definition: Defs.h:174
std::vector< char > BinarySerialization
A type to contain binary serializations of DOB objects.
Definition: Defs.h:287
Float64 Hertz
64 bit representation of Hertz.
Definition: Defs.h:162
Float32 Joule
32 bit representation of Joule.
Definition: Defs.h:98
DotsC_Float64 Float64
64 bit floating point type.
Definition: Defs.h:76
Float32 Volt
32 bit representation of Volt.
Definition: Defs.h:140
Float32 Watt
32 bit representation of Watt.
Definition: Defs.h:143
Float64 RadianPerSecond
64 bit representation of RadianPerSecond.
Definition: Defs.h:192
Float64 Ampere
64 bit representation of Ampere.
Definition: Defs.h:156
Float64 Steradian
64 bit representation of Steradian.
Definition: Defs.h:204
DotsC_Int64 Int64
64 bit integer type.
Definition: Defs.h:70
DotsC_TypeId TypeId
A unique type identifier.
Definition: Defs.h:219
Float64 Watt
64 bit representation of Watt.
Definition: Defs.h:210
Float64 Second
64 bit representation of Second.
Definition: Defs.h:198
DotsC_Float32 Float32
32 bit floating point type.
Definition: Defs.h:73
Float32 CubicMeter
32 bit representation of CubicMeter.
Definition: Defs.h:92
Float32 Newton
32 bit representation of Newton.
Definition: Defs.h:116
DotsC_ParameterIndex ParameterIndex
The index of a parameter in an object.
Definition: Defs.h:257
Float64 Newton
64 bit representation of Newton.
Definition: Defs.h:183
DotsC_ArrayIndex ArrayIndex
Index into an array.
Definition: Defs.h:247
Float64 CubicMeter
64 bit representation of CubicMeter.
Definition: Defs.h:159
Float32 Pascal
32 bit representation of Pascal.
Definition: Defs.h:119
Float64 RadianPerSecondSquared
64 bit representation of RadianPerSecondSquared.
Definition: Defs.h:195
Float32 SquareMeter
32 bit representation of SquareMeter.
Definition: Defs.h:134
Float32 MeterPerSecondSquared
32 bit representation of MeterPerSecondSquared.
Definition: Defs.h:113
Float64 MeterPerSecond
64 bit representation of MeterPerSecond.
Definition: Defs.h:177
Float32 Hertz
32 bit representation of Hertz.
Definition: Defs.h:95
Float64 Kilogram
64 bit representation of Kilogram.
Definition: Defs.h:171
Float32 RadianPerSecond
32 bit representation of RadianPerSecond.
Definition: Defs.h:125
Float64 MeterPerSecondSquared
64 bit representation of MeterPerSecondSquared.
Definition: Defs.h:180
Float32 RadianPerSecondSquared
32 bit representation of RadianPerSecondSquared.
Definition: Defs.h:128
DotsC_EnumerationValue EnumerationValue
The ordinal value of an enumeration.
Definition: Defs.h:271
Float64 Pascal
64 bit representation of Pascal.
Definition: Defs.h:186
Float32 Kelvin
32 bit representation of Kelvin.
Definition: Defs.h:101
Float32 Meter
32 bit representation of Meter.
Definition: Defs.h:107
Float32 Ampere
32 bit representation of Ampere.
Definition: Defs.h:89
Float64 Kelvin
64 bit representation of Kelvin.
Definition: Defs.h:168
Float32 Kilogram
32 bit representation of Kilogram.
Definition: Defs.h:104
Float32 Radian
32 bit representation of Radian.
Definition: Defs.h:122
DotsC_Int32 Int32
32 bit integer type.
Definition: Defs.h:67
DotsC_MemberIndex MemberIndex
The index of a member in an object.
Definition: Defs.h:238
DotsC_MemberType MemberType
An enumeration of all possible types of an object member.
Definition: Defs.h:279
std::vector< char > Binary
A type to contain binary data.
Definition: Defs.h:294
Float64 Radian
64 bit representation of Radian.
Definition: Defs.h:189
std::vector< TypeId > TypeIdVector
A vector of TypeIds.
Definition: Defs.h:222