ifgen.struct package#
Subpackages#
Submodules#
ifgen.struct.header module#
A module implementing a struct header-file interface generator.
- ifgen.struct.header.cpp_struct_header(task: GenerateTask, writer: IndentedFileWriter) None [source]#
Create the contents of a C++ struct header file.
- ifgen.struct.header.enforce_expected_size(size: int, data: dict[str, Any], assert_msg: str) None [source]#
Enforce an expected-size field.
- ifgen.struct.header.struct_fields(task: GenerateTask, writer: IndentedFileWriter) None [source]#
Generate struct fields.
- ifgen.struct.header.struct_header(task: GenerateTask, writer: IndentedFileWriter) None [source]#
Create the contents of a struct header file.
- ifgen.struct.header.struct_instance(task: GenerateTask, writer: IndentedFileWriter, instance: dict[str, Any]) None [source]#
Generate struct instances.
ifgen.struct.source module#
A module for generating struct source files.
- ifgen.struct.source.create_struct_source(task: GenerateTask) None [source]#
Create a header file based on a struct definition.
ifgen.struct.stream module#
A module for implementing struct stream-related methods.
- ifgen.struct.stream.struct_istream(task: GenerateTask, writer: IndentedFileWriter, header: bool) None [source]#
Generate an input-stream handling method.
- ifgen.struct.stream.struct_ostream(task: GenerateTask, writer: IndentedFileWriter, header: bool) None [source]#
Generate an output-stream handling method.
- ifgen.struct.stream.struct_stream_methods(task: GenerateTask, writer: IndentedFileWriter, header: bool) None [source]#
Generate struct stream read and write methods.
ifgen.struct.test module#
A module implementing a unit-test output generator for structs.
- ifgen.struct.test.assert_line(writer: IndentedFileWriter, data: str) None [source]#
Write an assert line to the file.
- ifgen.struct.test.create_struct_test(task: GenerateTask) None [source]#
Create a unit test for the enum string-conversion methods.
- ifgen.struct.test.unit_test_basic_method(task: GenerateTask, writer: IndentedFileWriter) None [source]#
Implement a simple encode-and-decode scenario with endianness as a function argument.
- ifgen.struct.test.unit_test_body(task: GenerateTask, writer: IndentedFileWriter) None [source]#
Implement a unit test for a struct.
- ifgen.struct.test.unit_test_stream_tests(task: GenerateTask, writer: IndentedFileWriter) None [source]#
Generate unit tests for stream interfaces.
ifgen.struct.util module#
Utility interfaces related to struct code generation.
- ifgen.struct.util.struct_dependencies(task: GenerateTask) set[str] [source]#
Generates string type names for dependencies.
Module contents#
A module implementing interfaces for struct-file generation.
- ifgen.struct.create_struct(task: GenerateTask) None [source]#
Create a header file based on a struct definition.
- ifgen.struct.create_struct_source(task: GenerateTask) None [source]#
Create a header file based on a struct definition.
- ifgen.struct.create_struct_test(task: GenerateTask) None [source]#
Create a unit test for the enum string-conversion methods.