aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/doc/typesystem_conversionrule.rst
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken2/doc/typesystem_conversionrule.rst')
-rw-r--r--sources/shiboken2/doc/typesystem_conversionrule.rst116
1 files changed, 0 insertions, 116 deletions
diff --git a/sources/shiboken2/doc/typesystem_conversionrule.rst b/sources/shiboken2/doc/typesystem_conversionrule.rst
deleted file mode 100644
index 27e7a72de..000000000
--- a/sources/shiboken2/doc/typesystem_conversionrule.rst
+++ /dev/null
@@ -1,116 +0,0 @@
-.. _conversion-rule-tag:
-
-Conversion Rule Tag
--------------------
-
-.. _conversion-rule:
-
-conversion-rule
-^^^^^^^^^^^^^^^
-
- The **conversion-rule** tag specifies how a **primitive-type**, a **container-type**,
- or a **value-type** may be converted to and from the native C++ language types to the
- target language types.
-
- .. code-block:: xml
-
- <value-type>
- <conversion-rule>
- <native-to-target>
- // Code to convert a native value to a target language object.
- </native-to-target>
- <target-to-native>
- <add-conversion type='TARGETTYPEA' check='TARGETTYPEA_CHECK(%in)'>
- // Code to convert target language type object of type TARGETTYPEA
- // to the C++ native type represented by the value/primitive/container-type.
- </add-conversion>
- <add-conversion type='TARGETTYPEB' check='TARGETTYPEB_CHECK(%in)'>
- // Code to convert target language type object of type TARGETTYPEB
- // to the C++ native type represented by the value/primitive/container-type.
- </add-conversion>
- </target-to-native>
- </conversion-rule>
- </value-type>
-
- The example above show the structure of a complete conversion rule. Each of the
- child tags comprising the conversion rule are described in their own sections
- below.
-
-
-.. _native-to-target:
-
-native-to-target
-^^^^^^^^^^^^^^^^
-
- The **native-to-target** tag tells how to convert a native C++ value to its
- target language equivalent. The text inside the tag is a C++ code the takes
- an input value an does what's needed to convert it to the output value.
- ``insert-template`` tags may be used to insert commonly repeating code.
-
- .. code-block:: xml
-
- <conversion-rule>
- <native-to-target>
- // Code to convert a native value to a target language object.
- </native-to-target>
- </conversion-rule>
-
- Use the replace node to modify the template code.
- Notice that the generator must provide type system variables for the input
- and output values and types, namely **%in**, **%out**, **%INTYPE** and
- **%OUTTYPE**. In the case of container types, **%INTYPE** refers to the
- full container type (e.g. **"list<int>"**) and **%INTYPE_0**, **%INTYPE_1**,
- **%INTYPE_#**, should be replaced by the types used in the container template
- (e.g. **%INTYPE_0** correspondes to **"int"** for **"list<int>"**).
-
- The ``file`` and ``snippet`` attributes are also supported (see :ref:`inject-code` nodes).
-
-.. _target-to-native:
-
-target-to-native
-^^^^^^^^^^^^^^^^
-
- The **target-to-native** tag encloses at least one, but usually many, conversions
- from target language values to C++ native values. The *optional* attribute
- ``replace`` tells if the target language to C++ conversions will be added to, or if
- they will replace the implicit conversions collected by *ApiExtractor*. The default
- value for it is *yes*.
-
-
- .. code-block:: xml
-
- <conversion-rule>
- <target-to-native replace='yes|no'>\
- // List of target to native conversions meant to replace or expand
- // the already existing implicit conversions.
- </target-to-native>
- </conversion-rule>
-
-
-.. _add-conversion:
-
-add-conversion
-^^^^^^^^^^^^^^
-
- Each **add-conversion** tag adds a rule for conversion of a target language type,
- indicated by the ``type`` attribute, to the C++ native type represented by the
- **primitive-type**, a **container-type**, or **value-type**, to which the parent
- **conversion-rule** belongs.
-
- .. code-block:: xml
-
- <target-to-native>
- <add-conversion type='TARGETTYPE' check='TARGETTYPECHECK(%in)'>
- // Code to convert target language type object of type TARGETTYPE_A
- // to the C++ native type represented by the value/primitive/container-type.
- </add-conversion>
- <target-to-native>
-
- The ``check`` attribute tells how a target value should be checked to see if it belongs to
- the type expected. This attribute is *optional*, for it can be derived from the ``type``
- attribute, but it isn't unusual that some special check is needed. The variables
- **%in**, **%out**, **%INTYPE**, **%INTYPE_#**, and **%OUTTYPE**, must be provided by
- the generator as in the ``native-to-target`` tag.
-
- The ``file`` and ``snippet`` attributes are also supported (see :ref:`inject-code` nodes).
-