25 #ifndef PDCOM5_DETAILS_H 26 #define PDCOM5_DETAILS_H 30 #include "SizeTypeInfo.h" 31 #include "pdcom5_export.h" 37 #include <type_traits> 43 namespace PdCom {
namespace details {
51 static constexpr
TypeInfo type_info = {
52 TypeInfo::boolean_T,
"bool",
sizeof(bool)};
57 static constexpr
TypeInfo type_info = {
58 TypeInfo::char_T,
"char",
sizeof(char)};
63 static constexpr
TypeInfo type_info = {
64 TypeInfo::uint8_T,
"uint8_t",
sizeof(uint8_t)};
69 static constexpr
TypeInfo type_info = {
70 TypeInfo::int8_T,
"int8_t",
sizeof(int8_t)};
75 static constexpr
TypeInfo type_info = {
76 TypeInfo::uint16_T,
"uint16_t",
sizeof(uint16_t)};
81 static constexpr
TypeInfo type_info = {
82 TypeInfo::int16_T,
"int16_t",
sizeof(int16_t)};
87 static constexpr
TypeInfo type_info = {
88 TypeInfo::uint32_T,
"uint32_t",
sizeof(uint32_t)};
93 static constexpr
TypeInfo type_info = {
94 TypeInfo::int32_T,
"int32_t",
sizeof(int32_t)};
99 static constexpr
TypeInfo type_info = {
100 TypeInfo::uint64_T,
"uint64_t",
sizeof(uint64_t)};
105 static constexpr
TypeInfo type_info = {
106 TypeInfo::int64_T,
"int64_t",
sizeof(int64_t)};
111 static constexpr
TypeInfo type_info = {
112 TypeInfo::double_T,
"double",
sizeof(double)};
117 static constexpr
TypeInfo type_info = {
118 TypeInfo::single_T,
"float",
sizeof(float)};
121 template <TypeInfo::DataType dtype>
127 using value_type = bool;
132 using value_type = char;
137 using value_type = uint8_t;
142 using value_type = int8_t;
147 using value_type = uint16_t;
152 using value_type = int16_t;
157 using value_type = uint32_t;
162 using value_type = int32_t;
167 using value_type = uint64_t;
172 using value_type = int64_t;
177 using value_type = double;
182 using value_type = float;
185 template <
class T,
class =
void>
197 template <
class T,
size_t N>
205 template <
class Char,
class Alloc,
class Traits>
229 TypeInfo::DataType dst_type,
231 TypeInfo::DataType src_type,
236 #endif // PDCOM5_DETAILS_H Type of a Variable.
Definition: SizeTypeInfo.h:33
Definition: details.h:186
void PDCOM5_PUBLIC copyData(void *dst, TypeInfo::DataType dst_type, const void *src, TypeInfo::DataType src_type, size_t nelem, size_t offset=0)
Data Conversion Matrix.
library version string as "major.minor.patch"
Definition: ClientStatistics.h:31
Definition: details.h:122