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.