Coverage Report

Created: 2024-04-30 09:35

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