Skip to main content

Module writer

Module writer 

Source
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.
FixedParts
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.
PlCdr1Framing
How a PL_CDR1 parameter list is framed.
Writer
Accumulates the bytes of one sample.
WstringLengthPolicy
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§

FixedDigits
How many BCD digits a fixed<P, S> puts on the wire.
ParameterRole
Which of §7.4.1.2’s two roles a parameter header stands in.
PidFlagPolicy
What flags a PL_CDR1 parameter id carries, at a position.
PlCdr1Reading
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.
WcharFraming
How a wchar is framed.
WcharWidth
How many bytes one Char16 occupies on the wire.
WirePosition
Where the value being written or read sits.
WstringLengthCounts
C1 — what a wstring’s length prefix counts.
WstringTerminator
C2 — whether a terminating NUL code unit is written.
WstringUnitOrder
In what byte order a wstring’s code units go out — C4.
WstringUnitWidth
C3 — how wide one UTF-16 code unit is on the wire.

Constants§

E_FLAG_IMPL_EXTENSION
FLAG_1 of the extended eMemberHeader, which is FLAG_IMPL_EXTENSION. XTypes 1.3 §7.4.1.2.1, and the same property as PID_IMPL_EXTENSION in the short form.
E_FLAG_MUST_UNDERSTAND
FLAG_2 of the extended eMemberHeader, 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 are FLAG_1 to FLAG_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 span octets.
parse_fixed
Split a fixed<P, S> value, refusing everything the declaration cannot carry.

Type Aliases§

WcharPosition
The name the position enumeration shipped under, when it reached only wchar.