IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
UpperType.h
Go to the documentation of this file.
1 // UpperType.h:
3 // ---------------
4 //
13 
14 #ifndef __IPSDKUTIL_INSTRUCTIONSET_UPPERTYPE_H__
15 #define __IPSDKUTIL_INSTRUCTIONSET_UPPERTYPE_H__
16 
18 
19 
20 namespace ipsdk {
21 
24 
25 
41 template <typename T>
42 struct UpperType
43 {
44 };
45 
47 template <> struct UpperType<ipInt8 > { typedef ipInt16 Type; };
48 template <> struct UpperType<ipUInt8 > { typedef ipUInt16 Type; };
49 template <> struct UpperType<ipInt16 > { typedef ipInt32 Type; };
50 template <> struct UpperType<ipUInt16> { typedef ipUInt32 Type; };
51 template <> struct UpperType<ipInt32 > { typedef ipInt64 Type; };
52 template <> struct UpperType<ipUInt32> { typedef ipUInt64 Type; };
53 template <> struct UpperType<ipReal32> { typedef ipReal64 Type; };
54 template <> struct UpperType<ipInt64 > { typedef ipInt64 Type; };
55 template <> struct UpperType<ipUInt64> { typedef ipUInt64 Type; };
56 template <> struct UpperType<ipReal64> { typedef ipReal64 Type; };
58 
71 template <typename T>
73 {
74 };
75 
77 template <> struct UpperType32<ipInt8 > { typedef ipInt16 Type; };
78 template <> struct UpperType32<ipUInt8 > { typedef ipUInt16 Type; };
79 template <> struct UpperType32<ipInt16 > { typedef ipInt32 Type; };
80 template <> struct UpperType32<ipUInt16> { typedef ipUInt32 Type; };
81 template <> struct UpperType32<ipInt32 > { typedef ipInt32 Type; };
82 template <> struct UpperType32<ipUInt32> { typedef ipUInt32 Type; };
83 template <> struct UpperType32<ipReal32> { typedef ipReal32 Type; };
85 
98 template <typename T>
100 {
101 };
102 
104 template <> struct UpperUnsignedType32<ipInt8 > { typedef ipUInt16 Type; };
105 template <> struct UpperUnsignedType32<ipUInt8 > { typedef ipUInt16 Type; };
106 template <> struct UpperUnsignedType32<ipInt16 > { typedef ipUInt32 Type; };
107 template <> struct UpperUnsignedType32<ipUInt16> { typedef ipUInt32 Type; };
108 template <> struct UpperUnsignedType32<ipInt32 > { typedef ipUInt32 Type; };
109 template <> struct UpperUnsignedType32<ipUInt32> { typedef ipUInt32 Type; };
110 template <> struct UpperUnsignedType32<ipReal32> { typedef ipReal32 Type; };
112 
115 
116 } // end of namespace ipsdk
117 
118 #endif // __IPSDKUTIL_INSTRUCTIONSET_UPPERTYPE_H__
int8_t ipInt8
Base types definition.
Definition: BaseTypes.h:48
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
int32_t ipInt32
Base types definition.
Definition: BaseTypes.h:52
int16_t ipInt16
Base types definition.
Definition: BaseTypes.h:50
uint8_t ipUInt8
Base types definition.
Definition: BaseTypes.h:49
template structure UpperType<typename T>; its typedef Type gives the type just upper to T...
Definition: UpperType.h:42
Definition of import/export macro for library.
template structure UpperUnsignedType32<typename T>; its typedef Type gives the unsigned type just upp...
Definition: UpperType.h:99
int64_t ipInt64
Base types definition.
Definition: BaseTypes.h:54
template structure UpperType32<typename T>; its typedef Type gives the type just upper to T without e...
Definition: UpperType.h:72
uint16_t ipUInt16
Base types definition.
Definition: BaseTypes.h:51
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53