You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: compiler/extensions/cpp/README.md
+16
Original file line number
Diff line number
Diff line change
@@ -42,6 +42,8 @@ For a **quick start** see the [C++ Tutorial](https://github.com/ndsev/zserio-tut
42
42
43
43
[Compatibility Check](#compatibility-check)
44
44
45
+
[Optimizations](#optimizations)
46
+
45
47
## Supported C++ Standards
46
48
47
49
Zserio C++ generator supports the C++11 standard which was published as ISO/IEC 14882:2011.
@@ -409,6 +411,7 @@ a `zserio::CppRuntimeException` during parsing of binary data:
409
411
| Generated Sources | Bitmask constructor | "Value for bitmask [NAME] out of bounds: [VALUE]!" | Throws if value stored in stream is bigger than bitmask upper bound. This could happen only in case of data inconsistency when bitmask value stored in the stream is wrong. |
410
412
| Generated Sources |`valueToEnum`| "Unknown value for enumeration [NAME]: [VALUE]!" | Throws in case of unknown enumeration value. This could happen only in case of data inconsistency when enumeration value stored in the stream is wrong. |
411
413
414
+
412
415
## Compatibility Check
413
416
414
417
C++ generator honors the `zserio_compatibility_version` specified in the schema. However note that only
@@ -418,3 +421,16 @@ compatibility version and fires an error when it detects any problem.
418
421
419
422
> Note: Binary encoding of packed arrays has been changed in version `2.5.0` and thus versions `2.4.x` are
420
423
binary incompatible with later versions.
424
+
425
+
## Optimizations
426
+
427
+
The C++ generator provides the following optimizations of the generated code:
428
+
429
+
- If any Zserio structure, choice or union type is not used in the packed array, no packing interface methods
0 commit comments