ScalarTypeDeferer.h
Go to the documentation of this file.
1 #ifndef GfxTL__SCALARTYPEDEFERER_HEADER__
2 #define GfxTL__SCALARTYPEDEFERER_HEADER__
3 #include <GfxTL/VectorXD.h>
4 #include <GfxTL/Array.h>
5 #include <MiscLib/Vector.h>
6 #include <vector>
7 #include <memory>
8 
9 namespace GfxTL
10 {
11  template< class PointT >
13  {
14  typedef typename PointT::value_type ScalarType;
15  };
16 
17  template< class ScalarT >
18  struct ScalarTypeDeferer< ScalarT* >
19  {
20  typedef ScalarT ScalarType;
21  };
22 
23  template< class ScalarT >
24  struct ScalarTypeDeferer< const ScalarT* >
25  {
26  typedef ScalarT ScalarType;
27  };
28 
29  template< unsigned int DimT, class ScalarT >
30  struct ScalarTypeDeferer< VectorXD< DimT, ScalarT > >
31  {
32  typedef ScalarT ScalarType;
33  };
34 
35  template< >
37  {
38  typedef float ScalarType;
39  };
40 
41  template< >
42  struct ScalarTypeDeferer< double >
43  {
44  typedef double ScalarType;
45  };
46 
47  template< >
48  struct ScalarTypeDeferer< int >
49  {
50  typedef int ScalarType;
51  };
52 
53  template< >
54  struct ScalarTypeDeferer< char >
55  {
56  typedef char ScalarType;
57  };
58 
59  template< >
60  struct ScalarTypeDeferer< short >
61  {
62  typedef short ScalarType;
63  };
64 
65  template< class IteratorT >
66  struct ScalarTypeDeferer< ArrayAccessor< 1, IteratorT > >
67  {
69  };
70 
71  template< class T >
72  struct ScalarTypeDeferer< std::auto_ptr< T > >
73  {
74  typedef T ScalarType;
75  };
76 
77  template< class T, class A >
78  struct ScalarTypeDeferer< MiscLib::Vector< T, A > >
79  {
80  typedef T ScalarType;
81  };
82 
83  template< class T, class A >
84  struct ScalarTypeDeferer< std::vector< T, A > >
85  {
86  typedef T ScalarType;
87  };
88 };
89 
90 #endif
GfxTL::VectorXD
Definition: MatrixXX.h:21
GfxTL::ScalarTypeDeferer
Definition: ScalarTypeDeferer.h:12
Vector.h
GfxTL::ScalarTypeDeferer< ArrayAccessor< 1, IteratorT > >::ScalarType
ArrayAccessor< 1, IteratorT >::value_type ScalarType
Definition: ScalarTypeDeferer.h:68
GfxTL::ScalarTypeDeferer< int >::ScalarType
int ScalarType
Definition: ScalarTypeDeferer.h:50
GfxTL::ScalarTypeDeferer< VectorXD< DimT, ScalarT > >::ScalarType
ScalarT ScalarType
Definition: ScalarTypeDeferer.h:32
GfxTL::ScalarTypeDeferer::ScalarType
PointT::value_type ScalarType
Definition: ScalarTypeDeferer.h:14
Array.h
VectorXD.h
GfxTL::ScalarTypeDeferer< float >::ScalarType
float ScalarType
Definition: ScalarTypeDeferer.h:38
MiscLib
Definition: AlignedAllocator.h:11
GfxTL::ScalarTypeDeferer< std::auto_ptr< T > >::ScalarType
T ScalarType
Definition: ScalarTypeDeferer.h:74
GfxTL::ScalarTypeDeferer< double >::ScalarType
double ScalarType
Definition: ScalarTypeDeferer.h:44
GfxTL
Definition: AABox.h:8
GfxTL::ScalarTypeDeferer< MiscLib::Vector< T, A > >::ScalarType
T ScalarType
Definition: ScalarTypeDeferer.h:80
GfxTL::ArrayAccessor
Definition: Array.h:10
float
#define float
Definition: 16_Level.h:22
std
Definition: Application.h:66
GfxTL::ScalarTypeDeferer< std::vector< T, A > >::ScalarType
T ScalarType
Definition: ScalarTypeDeferer.h:86
GfxTL::ScalarTypeDeferer< ScalarT * >::ScalarType
ScalarT ScalarType
Definition: ScalarTypeDeferer.h:20
Eigen::Matrix
Definition: EigenForwardDeclarations.h:27
GfxTL::ScalarTypeDeferer< short >::ScalarType
short ScalarType
Definition: ScalarTypeDeferer.h:62
T
float T
Definition: UnscentedKalmanFilterTest.cpp:35
GfxTL::ScalarTypeDeferer< char >::ScalarType
char ScalarType
Definition: ScalarTypeDeferer.h:56
GfxTL::ScalarTypeDeferer< const ScalarT * >::ScalarType
ScalarT ScalarType
Definition: ScalarTypeDeferer.h:26