ifgen.struct.methods package#
Subpackages#
Submodules#
ifgen.struct.methods.bit module#
A module implementing interfaces for generating bit-field methods.
- ifgen.struct.methods.bit.bit_field_toggle_method(task: GenerateTask, name: str, field: dict[str, Any], writer: IndentedFileWriter, method_slug: str) None [source]#
Generate a ‘toggle’ method for a bit-field.
- ifgen.struct.methods.bit.clear_bit_method(task: GenerateTask, name: str, field: dict[str, Any], writer: IndentedFileWriter, method_slug: str) None [source]#
Generate a ‘clear’ method for a bit-field.
- ifgen.struct.methods.bit.handle_description(writer: IndentedFileWriter, field: dict[str, Any]) None [source]#
Handle writing an instance’s description.
- ifgen.struct.methods.bit.set_bit_method(task: GenerateTask, name: str, field: dict[str, Any], writer: IndentedFileWriter, method_slug: str) None [source]#
Generate a ‘set’ method for a bit-field.
ifgen.struct.methods.common module#
Utilities shared between struct methods.
- ifgen.struct.methods.common.swap_fields(task: GenerateTask, writer: IndentedFileWriter, elem_prefix: str = '') None [source]#
Generate code for swapping struct fields.
Module contents#
A module implementing interfaces for generating struct method code.
- ifgen.struct.methods.decode_endian(task: GenerateTask, writer: IndentedFileWriter) None [source]#
Write a struct method for decoding buffers.
- ifgen.struct.methods.encode_endian(task: GenerateTask, writer: IndentedFileWriter) None [source]#
Write a struct method for encoding buffers.
- ifgen.struct.methods.endian_str(task: GenerateTask) str [source]#
Get the appropriate default endian argument for this struct.
- ifgen.struct.methods.handle_endian(task: GenerateTask, writer: IndentedFileWriter) None [source]#
Write a struct method for byte swapping.
- ifgen.struct.methods.protocol_json(task: GenerateTask) dict[str, Any] [source]#
Get JSON data for this struct task.
- ifgen.struct.methods.span_method(task: GenerateTask, writer: IndentedFileWriter) None [source]#
Generate a span method.
- ifgen.struct.methods.struct_buffer_method(task: GenerateTask, writer: IndentedFileWriter, read_only: bool) None [source]#
Generate a method for raw buffer access.
- ifgen.struct.methods.struct_methods(task: GenerateTask, writer: IndentedFileWriter) None [source]#
Write generated-struct methods.