Code generator for C++ from YAML to generate network protocol parsers
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 

71 Zeilen
1.4 KiB

includes:
- <array>
classes:
-
name: record_identifier
attributes:
-
name: uuid
out_type: std::array<unsigned char, 16>
start: 0
-
name: x
out_type: uint32_t
start: 16
-
name: y
out_type: uint32_t
start: 20
-
name: record
attributes:
-
name: record_id
out_type: std::array<unsigned char, 24>
start: 0
-
name: timestamp
out_type: uint64_t
start: 24
attributeafters:
-
name: offset
out_type: uint64_t
after_name: timestamp
bitfields:
-
name: flags
out_type: uint16_t
start: 40
mask: 0b0000000000000111
-
name: v_flag
out_type: uint16_t
after_name: offset
start: 40
mask: 0b0000000000000100
-
name: r_flags
out_type: uint16_t
start: 40
mask: 0b0000000000000010
-
name: c_flags
out_type: uint16_t
start: 40
mask: 0b0000000000000001
-
name: confirmed
out_type: uint16_t
start: 40
mask: 0b0000000000000101
-
name: validated
out_type: uint16_t
start: 40
mask: 0b0000000000000101
-
name: removed
out_type: uint16_t
start: 40
mask: 0b0000000000000010