28 #ifndef itkPixelTraits_h
29 #define itkPixelTraits_h
44 template <
typename TPixelType>
49 static constexpr
unsigned int Dimension = TPixelType::Length;
65 static constexpr
unsigned int Dimension = 1;
70 class PixelTraits<char>
73 static constexpr
unsigned int Dimension = 1;
78 class PixelTraits<signed char>
81 static constexpr
unsigned int Dimension = 1;
86 class PixelTraits<unsigned char>
89 static constexpr
unsigned int Dimension = 1;
94 class PixelTraits<short>
97 static constexpr
unsigned int Dimension = 1;
102 class PixelTraits<unsigned short>
105 static constexpr
unsigned int Dimension = 1;
110 class PixelTraits<int>
113 static constexpr
unsigned int Dimension = 1;
118 class PixelTraits<unsigned int>
121 static constexpr
unsigned int Dimension = 1;
126 class PixelTraits<long>
129 static constexpr
unsigned int Dimension = 1;
134 class PixelTraits<unsigned long>
137 static constexpr
unsigned int Dimension = 1;
143 class PixelTraits<long long>
146 static constexpr
unsigned int Dimension = 1;
151 class PixelTraits<unsigned long long>
154 static constexpr
unsigned int Dimension = 1;
159 class PixelTraits<float>
162 static constexpr
unsigned int Dimension = 1;
167 class PixelTraits<double>
170 static constexpr
unsigned int Dimension = 1;
194 template <
typename TValue1,
typename TValue2>
215 class JoinTraits<bool, char>
222 class JoinTraits<bool, unsigned char>
229 class JoinTraits<bool, short>
236 class JoinTraits<bool, unsigned short>
243 class JoinTraits<bool, int>
250 class JoinTraits<bool, unsigned int>
257 class JoinTraits<bool, long>
264 class JoinTraits<bool, unsigned long>
272 class JoinTraits<bool, long long>
279 class JoinTraits<bool, unsigned long long>
286 class JoinTraits<bool, float>
293 class JoinTraits<bool, double>
304 class JoinTraits<char, bool>
311 class JoinTraits<char, char>
318 class JoinTraits<char, unsigned char>
325 class JoinTraits<char, short>
332 class JoinTraits<char, unsigned short>
339 class JoinTraits<char, int>
346 class JoinTraits<char, unsigned int>
354 class JoinTraits<char, long>
361 class JoinTraits<char, unsigned long>
368 class JoinTraits<char, long long>
375 class JoinTraits<char, unsigned long long>
382 class JoinTraits<char, float>
389 class JoinTraits<char, double>
400 class JoinTraits<unsigned char, bool>
407 class JoinTraits<unsigned char, char>
414 class JoinTraits<unsigned char, unsigned char>
421 class JoinTraits<unsigned char, short>
428 class JoinTraits<unsigned char, unsigned short>
435 class JoinTraits<unsigned char, int>
442 class JoinTraits<unsigned char, unsigned int>
449 class JoinTraits<unsigned char, long>
456 class JoinTraits<unsigned char, unsigned long>
463 class JoinTraits<unsigned char, long long>
470 class JoinTraits<unsigned char, unsigned long long>
477 class JoinTraits<unsigned char, float>
484 class JoinTraits<unsigned char, double>
495 class JoinTraits<short, bool>
502 class JoinTraits<short, char>
509 class JoinTraits<short, unsigned char>
516 class JoinTraits<short, short>
523 class JoinTraits<short, unsigned short>
530 class JoinTraits<short, int>
537 class JoinTraits<short, unsigned int>
545 class JoinTraits<short, long>
552 class JoinTraits<short, unsigned long>
559 class JoinTraits<short, long long>
566 class JoinTraits<short, unsigned long long>
573 class JoinTraits<short, float>
580 class JoinTraits<short, double>
591 class JoinTraits<unsigned short, bool>
598 class JoinTraits<unsigned short, char>
605 class JoinTraits<unsigned short, unsigned char>
612 class JoinTraits<unsigned short, short>
619 class JoinTraits<unsigned short, unsigned short>
626 class JoinTraits<unsigned short, int>
633 class JoinTraits<unsigned short, unsigned int>
640 class JoinTraits<unsigned short, long>
647 class JoinTraits<unsigned short, unsigned long>
654 class JoinTraits<unsigned short, long long>
661 class JoinTraits<unsigned short, unsigned long long>
668 class JoinTraits<unsigned short, float>
675 class JoinTraits<unsigned short, double>
686 class JoinTraits<int, bool>
693 class JoinTraits<int, char>
700 class JoinTraits<int, unsigned char>
707 class JoinTraits<int, short>
714 class JoinTraits<int, unsigned short>
721 class JoinTraits<int, int>
728 class JoinTraits<int, unsigned int>
736 class JoinTraits<int, long>
743 class JoinTraits<int, unsigned long>
750 class JoinTraits<int, long long>
757 class JoinTraits<int, unsigned long long>
764 class JoinTraits<int, float>
771 class JoinTraits<int, double>
782 class JoinTraits<unsigned int, bool>
789 class JoinTraits<unsigned int, char>
797 class JoinTraits<unsigned int, unsigned char>
804 class JoinTraits<unsigned int, short>
812 class JoinTraits<unsigned int, unsigned short>
819 class JoinTraits<unsigned int, int>
827 class JoinTraits<unsigned int, unsigned int>
834 class JoinTraits<unsigned int, long>
841 class JoinTraits<unsigned int, unsigned long>
848 class JoinTraits<unsigned int, long long>
855 class JoinTraits<unsigned int, unsigned long long>
862 class JoinTraits<unsigned int, float>
869 class JoinTraits<unsigned int, double>
880 class JoinTraits<long, bool>
887 class JoinTraits<long, char>
894 class JoinTraits<long, unsigned char>
901 class JoinTraits<long, short>
908 class JoinTraits<long, unsigned short>
915 class JoinTraits<long, int>
922 class JoinTraits<long, unsigned int>
929 class JoinTraits<long, long>
936 class JoinTraits<long, unsigned long>
944 class JoinTraits<long, long long>
951 class JoinTraits<long, unsigned long long>
958 class JoinTraits<long, float>
965 class JoinTraits<long, double>
976 class JoinTraits<unsigned long, bool>
983 class JoinTraits<unsigned long, char>
990 class JoinTraits<unsigned long, unsigned char>
997 class JoinTraits<unsigned long, short>
1004 class JoinTraits<unsigned long, unsigned short>
1011 class JoinTraits<unsigned long, int>
1018 class JoinTraits<unsigned long, unsigned int>
1025 class JoinTraits<unsigned long, long>
1032 class JoinTraits<unsigned long, unsigned long>
1039 class JoinTraits<unsigned long, long long>
1046 class JoinTraits<unsigned long, unsigned long long>
1053 class JoinTraits<unsigned long, float>
1060 class JoinTraits<unsigned long, double>
1072 class JoinTraits<long long, bool>
1079 class JoinTraits<long long, char>
1086 class JoinTraits<long long, unsigned char>
1093 class JoinTraits<long long, short>
1100 class JoinTraits<long long, unsigned short>
1107 class JoinTraits<long long, int>
1114 class JoinTraits<long long, unsigned int>
1121 class JoinTraits<long long, long>
1128 class JoinTraits<long long, unsigned long>
1135 class JoinTraits<long long, long long>
1142 class JoinTraits<long long, unsigned long long>
1149 class JoinTraits<long long, float>
1156 class JoinTraits<long long, double>
1167 class JoinTraits<unsigned long long, bool>
1174 class JoinTraits<unsigned long long, char>
1181 class JoinTraits<unsigned long long, unsigned char>
1188 class JoinTraits<unsigned long long, short>
1195 class JoinTraits<unsigned long long, unsigned short>
1202 class JoinTraits<unsigned long long, int>
1209 class JoinTraits<unsigned long long, unsigned int>
1216 class JoinTraits<unsigned long long, long>
1223 class JoinTraits<unsigned long long, unsigned long>
1230 class JoinTraits<unsigned long long, long long>
1237 class JoinTraits<unsigned long long, unsigned long long>
1244 class JoinTraits<unsigned long long, float>
1251 class JoinTraits<unsigned long long, double>
1263 class JoinTraits<float, bool>
1270 class JoinTraits<float, char>
1277 class JoinTraits<float, unsigned char>
1284 class JoinTraits<float, short>
1291 class JoinTraits<float, unsigned short>
1298 class JoinTraits<float, int>
1305 class JoinTraits<float, unsigned int>
1312 class JoinTraits<float, long>
1319 class JoinTraits<float, unsigned long>
1326 class JoinTraits<float, long long>
1333 class JoinTraits<float, unsigned long long>
1340 class JoinTraits<float, float>
1347 class JoinTraits<float, double>
1358 class JoinTraits<double, bool>
1365 class JoinTraits<double, char>
1372 class JoinTraits<double, unsigned char>
1379 class JoinTraits<double, short>
1386 class JoinTraits<double, unsigned short>
1393 class JoinTraits<double, int>
1400 class JoinTraits<double, unsigned int>
1407 class JoinTraits<double, long>
1414 class JoinTraits<double, unsigned long>
1421 class JoinTraits<double, long long>
1428 class JoinTraits<double, unsigned long long>
1435 class JoinTraits<double, float>
1442 class JoinTraits<double, double>
1452 #endif // itkPixelTraits_h