versor  3.0
C++11 library for Geometric algebra
vsr_std_types.h
1 //
2 // vsr_types.h
3 // vsr
4 // TYPE detection (used in automatic GUI generation)
5 // Created by Pablo Colapinto on 5/3/12.
6 // Copyright (c) 2012 __MyCompanyName__. All rights reserved.
7 //
8 
9 #ifndef vsr_vsr_types_h
10 #define vsr_vsr_types_h
11 
12 #include <map>
13 #include <typeinfo>
14 
15 using namespace std;
16 namespace vsr {
17 
18 
19  enum StandardTypes {
20  BOOLEAN,
21  UCHAR,
22  CHAR,
23  UINT,
24  INT,
25  ULONG,
26  LONG,
27  FLOAT,
28  DOUBLE
29  };
30 
31  typedef std::map< const char *, int> NameMap;
32 
33  NameMap create_types(){
34  NameMap m;
35  bool b;
36  unsigned char uc;
37  // char c;
38  float f;
39  double d;
40  int i;
41 
42  m[ typeid(b).name() ] = BOOLEAN;
43  m[ typeid(uc ).name() ] = UCHAR;
44  m[ typeid(f ).name() ] = FLOAT;
45  m[ typeid(d ).name() ] = DOUBLE;
46  m[ typeid(i ).name() ] = DOUBLE;
47  return m;
48  }
49 
50  static NameMap Types = create_types();
51 
52 } //vsr::
53 
54 #endif
the versor library namespace
Definition: vsr_algebra.h:29