Actin®  Version 5.2.0
Software for Robotics Simulation and Control
ecTypes.h
Go to the documentation of this file.
1 #ifndef ecTypes_H_
2 #define ecTypes_H_
3 //------------------------------------------------------------------------------
4 // Copyright (c) 2001-2013 Energid Technologies. All rights reserved.
5 //
9 //
10 //------------------------------------------------------------------------------
11 #include "ecConfig.h"
12 
13 #include <complex>
14 #include <list>
15 #include <map>
16 #include <set>
17 #include <string>
18 #include <vector>
19 
21 typedef bool EcBoolean;
22 
24 typedef float EcF32;
25 
27 typedef double EcF64;
28 
30 typedef EcF64 EcReal;
31 
33 typedef EcF64 EcTime;
34 
36 typedef unsigned char EcU8;
37 
39 typedef char EcInt8;
40 
41 #ifndef EC_NO_BOOST
42 # include <boost/cstdint.hpp>
45 
47  typedef boost::uint16_t EcU16;
48 
50  typedef boost::int16_t EcInt16;
51 
53  typedef boost::uint32_t EcU32;
54 
56  typedef boost::int32_t EcInt32;
57 
59  typedef boost::uint64_t EcU64;
60 
62  typedef boost::int64_t EcInt64;
63 
64 #else // EC_NO_BOOST
65 
69  typedef unsigned short EcU16;
70 
72  typedef short EcInt16;
73 
74 # if defined(__uint32_t_defined)
75  typedef uint32_t EcU32;
80  typedef int32_t EcInt32;
82  typedef uint64_t EcU64;
84  typedef int64_t EcInt64;
85 
86 # else
87  typedef unsigned int EcU32;
90  typedef int EcInt32;
91 
92 # if ULONG_MAX == 0xffffffff
93  // 32-bit OS
95  typedef unsigned long long EcU64;
97  typedef long long EcInt64;
98 
99 # else // ! ULONG_MAX == 0xffffffff
100  // 64-bit OS
101 
103  typedef unsigned long EcU64;
104 
106  typedef long EcInt64;
107 # endif // ULONG_MAX == 0xffffffff
108 # endif // EC_NO_BOOST
109 #endif // EC_NO_BOOST
110 
112 typedef std::complex<double> EcComplexReal;
113 
115 #ifndef SWIG
116 typedef std::basic_string<char> EcString;
117 #else
118 typedef std::string EcString;
119 #endif
120 
122 #ifndef SWIG
123 typedef std::basic_string<wchar_t> EcWString;
124 #else
125 typedef std::wstring EcWString;
126 #endif
127 
129 typedef std::size_t EcSizeT;
130 
132 typedef std::vector<EcSizeT> EcSizeTVector;
133 
135 typedef std::string::size_type EcStringSizeT;
136 
138 typedef std::vector<EcString> EcStringVector;
139 
141 typedef std::vector<EcStringVector> EcStringVectorVector;
142 
144 typedef std::vector<EcStringVectorVector> EcStringVector3D;
145 
147 typedef std::list<EcString> EcStringList;
148 
150 typedef std::set<EcU32> EcU32Set;
151 
153 typedef std::map<EcString,EcU32> EcStringU32Map;
154 
156 typedef std::map<EcString,EcInt32> EcStringInt32Map;
157 
159 typedef std::map<EcString,EcReal> EcStringRealMap;
160 
162 typedef std::map<EcString,EcString> EcStringStringMap;
163 
165 typedef std::less<EcString> EcStringComp;
166 
168 typedef std::vector<EcReal> EcRealVector;
169 
171 typedef std::vector<EcU32> EcU32Vector;
172 
174 typedef std::vector<EcU32Vector> EcU32VectorVector;
175 
177 typedef std::vector<EcInt32> EcInt32Vector;
178 
180 typedef std::vector<EcInt32Vector> EcInt32VectorVector;
181 
183 typedef std::vector<EcInt32VectorVector> EcInt32Vector3D;
184 
186 typedef std::vector<EcU16> EcU16Vector;
187 
189 typedef std::vector<EcInt16> EcInt16Vector;
190 
192 typedef std::vector<EcInt16Vector> EcInt16VectorVector;
193 
195 typedef std::vector<EcU8> EcU8Vector;
196 
198 typedef std::vector<EcInt8> EcInt8Vector;
199 
201 typedef std::vector<EcBoolean> EcBooleanVector;
202 
204 typedef std::vector<EcBooleanVector> EcBooleanVectorVector;
205 
207 typedef std::vector<EcRealVector> EcRealVectorVector;
208 
210 typedef std::vector<EcRealVectorVector> EcRealVector3D;
211 
213 typedef std::vector<EcComplexReal> EcComplexVector;
214 
216 typedef std::vector<EcComplexVector> EcComplexVectorVector;
217 
219 typedef std::pair<EcU32,EcU32> EcU32U32Pair;
220 
222 typedef std::vector<EcU32U32Pair> EcU32U32PairVector;
223 
225 typedef std::pair<EcString,EcString> EcStringStringPair;
226 
228 typedef std::pair<EcString,EcU32> EcStringU32Pair;
229 
230 
235 {
237  void operator()
238  (
239  void const *
240  ) const {}
241 };
242 
244 const char EcSelfTestDirectory[] = "selfTest";
245 
246 #endif // ecTypes_H_
std::basic_string< wchar_t > EcWString
a wide character string
Definition: ecTypes.h:123
std::vector< EcInt32Vector > EcInt32VectorVector
a general 2D 32-bit signed integer vector
Definition: ecTypes.h:180
boost::int16_t EcInt16
16-bit signed integer
Definition: ecTypes.h:50
std::vector< EcU8 > EcU8Vector
a general 8-bit unsigned integer vector
Definition: ecTypes.h:195
std::vector< EcBooleanVector > EcBooleanVectorVector
a general 2D boolean vector
Definition: ecTypes.h:204
std::map< EcString, EcInt32 > EcStringInt32Map
a string-int32 map
Definition: ecTypes.h:156
boost::uint32_t EcU32
32-bit unsigned integer
Definition: ecTypes.h:53
Specify some global configuration parameters and values.
std::set< EcU32 > EcU32Set
a set of U32
Definition: ecTypes.h:150
std::vector< EcInt32 > EcInt32Vector
a general 32-bit signed integer vector
Definition: ecTypes.h:177
std::vector< EcInt32VectorVector > EcInt32Vector3D
a general 3D 32-bit signed integer vector
Definition: ecTypes.h:183
std::map< EcString, EcString > EcStringStringMap
a string-string map
Definition: ecTypes.h:162
std::vector< EcBoolean > EcBooleanVector
a general boolean vector
Definition: ecTypes.h:201
std::map< EcString, EcU32 > EcStringU32Map
a string-u32 map
Definition: ecTypes.h:153
std::pair< EcU32, EcU32 > EcU32U32Pair
a pair of U32 values
Definition: ecTypes.h:219
std::vector< EcComplexReal > EcComplexVector
a general complex vector
Definition: ecTypes.h:213
std::vector< EcU32U32Pair > EcU32U32PairVector
a vector of U32U32Pair (ex. manip and link indices)
Definition: ecTypes.h:222
std::vector< EcComplexVector > EcComplexVectorVector
a general complex array
Definition: ecTypes.h:216
std::size_t EcSizeT
unsigned integer type used to represent indices and the sizes of containers
Definition: ecTypes.h:129
std::vector< EcRealVectorVector > EcRealVector3D
a general floating-point 3D array
Definition: ecTypes.h:210
boost::int64_t EcInt64
64-bit signed integer
Definition: ecTypes.h:62
std::vector< EcString > EcStringVector
string organization using vectors
Definition: ecTypes.h:138
boost::uint64_t EcU64
64-bit unsigned integer
Definition: ecTypes.h:59
std::vector< EcInt16Vector > EcInt16VectorVector
a general 2D 16-bit signed integer vector
Definition: ecTypes.h:192
std::map< EcString, EcReal > EcStringRealMap
a string-real map
Definition: ecTypes.h:159
std::vector< EcStringVectorVector > EcStringVector3D
a vector of vectors of string vectors
Definition: ecTypes.h:144
std::vector< EcU32Vector > EcU32VectorVector
a 2D vector of EcU32
Definition: ecTypes.h:174
std::string::size_type EcStringSizeT
similar to EcSizeT but for strings
Definition: ecTypes.h:135
std::list< EcString > EcStringList
a list of string
Definition: ecTypes.h:147
std::vector< EcInt8 > EcInt8Vector
a general 8-bit signed integer vector
Definition: ecTypes.h:198
std::vector< EcSizeT > EcSizeTVector
a vector of indices
Definition: ecTypes.h:132
bool EcBoolean
Boolean (0 or 1)
Definition: ecTypes.h:21
std::pair< EcString, EcU32 > EcStringU32Pair
a coupling of a string with a U32
Definition: ecTypes.h:228
std::less< EcString > EcStringComp
a comparison function for strings
Definition: ecTypes.h:165
std::vector< EcInt16 > EcInt16Vector
a general 16-bit signed integer vector
Definition: ecTypes.h:189
boost::int32_t EcInt32
32-bit signed integer
Definition: ecTypes.h:56
const char EcSelfTestDirectory[]
define the self test directory name.
Definition: ecTypes.h:244
std::vector< EcU16 > EcU16Vector
a general 16-bit unsigned integer vector
Definition: ecTypes.h:186
std::vector< EcReal > EcRealVector
a general floating-point vector
Definition: ecTypes.h:168
EcF64 EcReal
Alias for 64-bit float.
Definition: ecTypes.h:30
std::vector< EcRealVector > EcRealVectorVector
a general floating-point array
Definition: ecTypes.h:207
std::basic_string< char > EcString
a character string
Definition: ecTypes.h:116
double EcF64
64-bit floating-point.
Definition: ecTypes.h:27
boost::uint16_t EcU16
16-bit unsigned integer
Definition: ecTypes.h:47
EcF64 EcTime
A special type for time.
Definition: ecTypes.h:33
std::pair< EcString, EcString > EcStringStringPair
a pair of strings
Definition: ecTypes.h:225
std::complex< double > EcComplexReal
a complex real value
Definition: ecTypes.h:112
float EcF32
32-bit floating-point.
Definition: ecTypes.h:24
unsigned char EcU8
8-bit unsigned integer
Definition: ecTypes.h:36
std::vector< EcU32 > EcU32Vector
a general 32-bit unsigned integer vector
Definition: ecTypes.h:171
char EcInt8
8-bit signed integer
Definition: ecTypes.h:39
std::vector< EcStringVector > EcStringVectorVector
a vector of string vectors
Definition: ecTypes.h:141
Created by Energid Technologies www.energid.com
Copyright © 2016 Energid. All trademarks mentioned in this document are property of their respective owners.