aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/doc/typesystem.rst
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken6/doc/typesystem.rst')
-rw-r--r--sources/shiboken6/doc/typesystem.rst68
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