Expand description
Putting bytes on the wire.
Alignment is relative to the start of the stream, not to the start of
the value: XCDR aligns each primitive to its own size counted from
the encapsulation, which is why a long after a char sits at 4 and
not at 1. DDS-XTypes 1.3 §7.4.1.1.
Structs§
- DHeader
- A DHEADER waiting for its length.
- EmHeader
- An EMHEADER waiting for its NEXTINT, when it has one.
- Fixed
Parts - A
fixed<P, S>value split into its parts, with every rule about what is a legal value for that declaration already applied. - Pid
- A parameter header waiting for its length.
- PlCdr1
Framing - How a PL_CDR1 parameter list is framed.
- Writer
- Accumulates the bytes of one sample.
- Wstring
Length Policy - How a
wstring’s length is written and how wide its code units are — C1 × C2 × C3, a product space and not a list.
Enums§
- Fixed
Digits - How many BCD digits a
fixed<P, S>puts on the wire. - Parameter
Role - Which of §7.4.1.2’s two roles a parameter header stands in.
- PidFlag
Policy - What flags a PL_CDR1 parameter id carries, at a position.
- PlCdr1
Reading - Whether a PL_CDR1 reader takes a stream framed another way than it was
configured for. The byte-layer half of
zerodds_ast_layout::PlCdr1Reading, which carries the reasoning. - Wchar
Framing - How a
wcharis framed. - Wchar
Width - How many bytes one
Char16occupies on the wire. - Wire
Position - Where the value being written or read sits.
- Wstring
Length Counts - C1 — what a
wstring’s length prefix counts. - Wstring
Terminator - C2 — whether a terminating NUL code unit is written.
- Wstring
Unit Order - In what byte order a
wstring’s code units go out — C4. - Wstring
Unit Width - C3 — how wide one UTF-16 code unit is on the wire.
Constants§
- E_
FLAG_ IMPL_ EXTENSION FLAG_1of the extendedeMemberHeader, which isFLAG_IMPL_EXTENSION. XTypes 1.3 §7.4.1.2.1, and the same property asPID_IMPL_EXTENSIONin the short form.- E_
FLAG_ MUST_ UNDERSTAND FLAG_2of the extendedeMemberHeader, which is the member’s must-understand. XTypes 1.3 §7.4.1.2.1.- E_
MEMBER_ ID_ MASK - The low twenty-eight bits of an extended
eMemberHeader, which are the member id. The top four areFLAG_1toFLAG_4. - PID_
EXTENDED - The parameter id that introduces the extended form.
- PID_
IGNORE PID_IGNORE. XTypes 1.3 §7.4.1.2.2: “All consumers of this Data Representation shall ignore parameters with this ID” — including a consumer that would otherwise discard the sample over the must-understand bit.- PID_
IMPL_ EXTENSION FLAG_IMPL_EXTENSION, bit 15 of a short parameter id.- PID_
LIST_ END - The parameter id that ends a parameter list.
- PID_
SHORT_ MAX_ ID - The highest member id a short parameter header can carry.
- PID_
SHORT_ MAX_ LEN - The longest value a short parameter header can state the length of.
Functions§
- checked_
dheader_ length - The value of a DHEADER for members that occupy
spanoctets. - parse_
fixed - Split a
fixed<P, S>value, refusing everything the declaration cannot carry.
Type Aliases§
- Wchar
Position - The name the position enumeration shipped under, when it reached only
wchar.