src/zserio/TypeInfoUtil.cpp
Line | Count | Source (jump to first uncovered line) |
1 | | #include "zserio/TypeInfoUtil.h" |
2 | | |
3 | | namespace zserio |
4 | | { |
5 | | |
6 | | bool TypeInfoUtil::isCompound(SchemaType schemaType) |
7 | 3.13k | { |
8 | 3.13k | switch (schemaType) |
9 | 3.13k | { |
10 | 587 | case SchemaType::STRUCT: |
11 | 597 | case SchemaType::CHOICE: |
12 | 641 | case SchemaType::UNION: |
13 | 641 | return true; |
14 | 2.49k | default: |
15 | 2.49k | return false; |
16 | 3.13k | } |
17 | 3.13k | } |
18 | | |
19 | | bool TypeInfoUtil::isCompound(CppType cppType) |
20 | 66 | { |
21 | 66 | switch (cppType) |
22 | 66 | { |
23 | 43 | case CppType::STRUCT: |
24 | 44 | case CppType::CHOICE: |
25 | 45 | case CppType::UNION: |
26 | 45 | return true; |
27 | 21 | default: |
28 | 21 | return false; |
29 | 66 | } |
30 | 66 | } |
31 | | |
32 | | bool TypeInfoUtil::hasChoice(SchemaType schemaType) |
33 | 127 | { |
34 | 127 | switch (schemaType) |
35 | 127 | { |
36 | 8 | case SchemaType::CHOICE: |
37 | 39 | case SchemaType::UNION: |
38 | 39 | return true; |
39 | 88 | default: |
40 | 88 | return false; |
41 | 127 | } |
42 | 127 | } |
43 | | |
44 | | bool TypeInfoUtil::hasChoice(CppType cppType) |
45 | 60 | { |
46 | 60 | switch (cppType) |
47 | 60 | { |
48 | 1 | case CppType::CHOICE: |
49 | 2 | case CppType::UNION: |
50 | 2 | return true; |
51 | 58 | default: |
52 | 58 | return false; |
53 | 60 | } |
54 | 60 | } |
55 | | |
56 | | bool TypeInfoUtil::isFixedSize(SchemaType schemaType) |
57 | 36 | { |
58 | 36 | switch (schemaType) |
59 | 36 | { |
60 | 1 | case SchemaType::BOOL: |
61 | 2 | case SchemaType::INT8: |
62 | 3 | case SchemaType::INT16: |
63 | 4 | case SchemaType::INT32: |
64 | 5 | case SchemaType::INT64: |
65 | 6 | case SchemaType::UINT8: |
66 | 7 | case SchemaType::UINT16: |
67 | 8 | case SchemaType::UINT32: |
68 | 9 | case SchemaType::UINT64: |
69 | 10 | case SchemaType::FIXED_SIGNED_BITFIELD: |
70 | 11 | case SchemaType::FIXED_UNSIGNED_BITFIELD: |
71 | 12 | case SchemaType::FLOAT16: |
72 | 13 | case SchemaType::FLOAT32: |
73 | 14 | case SchemaType::FLOAT64: |
74 | 14 | return true; |
75 | 22 | default: |
76 | 22 | return false; |
77 | 36 | } |
78 | 36 | } |
79 | | |
80 | | bool TypeInfoUtil::isFixedSize(CppType cppType) |
81 | 22 | { |
82 | 22 | switch (cppType) |
83 | 22 | { |
84 | 1 | case CppType::BOOL: |
85 | 2 | case CppType::INT8: |
86 | 3 | case CppType::INT16: |
87 | 4 | case CppType::INT32: |
88 | 5 | case CppType::INT64: |
89 | 6 | case CppType::UINT8: |
90 | 7 | case CppType::UINT16: |
91 | 8 | case CppType::UINT32: |
92 | 9 | case CppType::UINT64: |
93 | 10 | case CppType::FLOAT: |
94 | 11 | case CppType::DOUBLE: |
95 | 11 | return true; |
96 | 11 | default: |
97 | 11 | return false; |
98 | 22 | } |
99 | 22 | } |
100 | | |
101 | | bool TypeInfoUtil::isIntegral(SchemaType schemaType) |
102 | 36 | { |
103 | 36 | switch (schemaType) |
104 | 36 | { |
105 | 1 | case SchemaType::BOOL: |
106 | 2 | case SchemaType::INT8: |
107 | 3 | case SchemaType::INT16: |
108 | 4 | case SchemaType::INT32: |
109 | 5 | case SchemaType::INT64: |
110 | 6 | case SchemaType::UINT8: |
111 | 7 | case SchemaType::UINT16: |
112 | 8 | case SchemaType::UINT32: |
113 | 9 | case SchemaType::UINT64: |
114 | 10 | case SchemaType::VARINT16: |
115 | 11 | case SchemaType::VARINT32: |
116 | 12 | case SchemaType::VARINT64: |
117 | 13 | case SchemaType::VARINT: |
118 | 14 | case SchemaType::VARUINT16: |
119 | 15 | case SchemaType::VARUINT32: |
120 | 16 | case SchemaType::VARUINT64: |
121 | 17 | case SchemaType::VARUINT: |
122 | 18 | case SchemaType::VARSIZE: |
123 | 19 | case SchemaType::FIXED_SIGNED_BITFIELD: |
124 | 20 | case SchemaType::FIXED_UNSIGNED_BITFIELD: |
125 | 21 | case SchemaType::DYNAMIC_SIGNED_BITFIELD: |
126 | 22 | case SchemaType::DYNAMIC_UNSIGNED_BITFIELD: |
127 | 22 | return true; |
128 | 14 | default: |
129 | 14 | return false; |
130 | 36 | } |
131 | 36 | } |
132 | | |
133 | | bool TypeInfoUtil::isIntegral(CppType cppType) |
134 | 22 | { |
135 | 22 | switch (cppType) |
136 | 22 | { |
137 | 1 | case CppType::BOOL: |
138 | 2 | case CppType::INT8: |
139 | 3 | case CppType::INT16: |
140 | 4 | case CppType::INT32: |
141 | 5 | case CppType::INT64: |
142 | 6 | case CppType::UINT8: |
143 | 7 | case CppType::UINT16: |
144 | 8 | case CppType::UINT32: |
145 | 9 | case CppType::UINT64: |
146 | 9 | return true; |
147 | 13 | default: |
148 | 13 | return false; |
149 | 22 | } |
150 | 22 | } |
151 | | |
152 | | bool TypeInfoUtil::isSigned(SchemaType schemaType) |
153 | 36 | { |
154 | 36 | switch (schemaType) |
155 | 36 | { |
156 | 1 | case SchemaType::INT8: |
157 | 2 | case SchemaType::INT16: |
158 | 3 | case SchemaType::INT32: |
159 | 4 | case SchemaType::INT64: |
160 | 5 | case SchemaType::VARINT16: |
161 | 6 | case SchemaType::VARINT32: |
162 | 7 | case SchemaType::VARINT64: |
163 | 8 | case SchemaType::VARINT: |
164 | 9 | case SchemaType::FIXED_SIGNED_BITFIELD: |
165 | 10 | case SchemaType::DYNAMIC_SIGNED_BITFIELD: |
166 | 11 | case SchemaType::FLOAT16: |
167 | 12 | case SchemaType::FLOAT32: |
168 | 13 | case SchemaType::FLOAT64: |
169 | 13 | return true; |
170 | 23 | default: |
171 | 23 | return false; |
172 | 36 | } |
173 | 36 | } |
174 | | |
175 | | bool TypeInfoUtil::isSigned(CppType cppType) |
176 | 43 | { |
177 | 43 | switch (cppType) |
178 | 43 | { |
179 | 14 | case CppType::INT8: |
180 | 15 | case CppType::INT16: |
181 | 16 | case CppType::INT32: |
182 | 17 | case CppType::INT64: |
183 | 18 | case CppType::FLOAT: |
184 | 19 | case CppType::DOUBLE: |
185 | 19 | return true; |
186 | 24 | default: |
187 | 24 | return false; |
188 | 43 | } |
189 | 43 | } |
190 | | |
191 | | bool TypeInfoUtil::isFloatingPoint(SchemaType schemaType) |
192 | 36 | { |
193 | 36 | switch (schemaType) |
194 | 36 | { |
195 | 1 | case SchemaType::FLOAT16: |
196 | 2 | case SchemaType::FLOAT32: |
197 | 3 | case SchemaType::FLOAT64: |
198 | 3 | return true; |
199 | 33 | default: |
200 | 33 | return false; |
201 | 36 | } |
202 | 36 | } |
203 | | |
204 | | bool TypeInfoUtil::isFloatingPoint(CppType cppType) |
205 | 22 | { |
206 | 22 | switch (cppType) |
207 | 22 | { |
208 | 1 | case CppType::FLOAT: |
209 | 2 | case CppType::DOUBLE: |
210 | 2 | return true; |
211 | 20 | default: |
212 | 20 | return false; |
213 | 22 | } |
214 | 22 | } |
215 | | |
216 | | } // namespace zserio |