diff options
Diffstat (limited to 'sources/shiboken6/doc/typesystem.rst')
-rw-r--r-- | sources/shiboken6/doc/typesystem.rst | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/sources/shiboken6/doc/typesystem.rst b/sources/shiboken6/doc/typesystem.rst new file mode 100644 index 000000000..26f929801 --- /dev/null +++ b/sources/shiboken6/doc/typesystem.rst @@ -0,0 +1,68 @@ +Type System Reference +===================== + +The typesystem is used by a binding generator or any other software using the APIExtractor library +to map a C++ library API onto a higher level language. + +The typesystem specification is a handwritten XML document listing the types +that will be available in the generated target language API; types that are not +declared in the specification will be ignored along with everything depending on +them. In addition, it is possible to manipulate and modify types and functions. +It is even possible to use the typesystem specification to inject arbitrary +code into the source files, such as an extra member function. + +Below there is a complete reference guide to the various nodes (XML tags) of the typesystem. +For usage examples, take a look at the typesystem files used to generate PySide6. These files +can be found in the PySide6/<QT_MODULE_NAME> directory of the PySide6 package. + +Define types +------------ + +.. toctree:: + :maxdepth: 1 + + typesystem_specifying_types.rst + typesystem_builtin_types.rst + +Code generation +--------------- + +.. toctree:: + :maxdepth: 1 + + typesystem_codegeneration.rst + +Modifying types +--------------- + +.. toctree:: + :maxdepth: 1 + + typesystem_arguments.rst + typesystem_codeinjection.rst + typesystem_converters.rst + typesystem_containers.rst + typesystem_templates.rst + typesystem_modify_function.rst + typesystem_manipulating_objects.rst + typesystem_conversionrule.rst + typesystem_documentation.rst + typesystem_variables.rst + +Object ownership +---------------- + +.. toctree:: + :maxdepth: 1 + + typesystem_ownership.rst + +Extra options and Python caveats +-------------------------------- + +.. toctree:: + :maxdepth: 1 + + typesystem_solving_compilation.rst + typesystem_specialfunctions.rst + typediscovery.rst |