Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 388a191dbad6b966fd8a7add43a4053b > files > 53

apiextractor-devel-0.10.0-1.fc14.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>API Extractor &mdash; 3. The API Extractor Type System</title>
    <link rel="stylesheet" href="_static/pysidedocs.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <script type="text/javascript">
    var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '#',
        VERSION:     '0.10.0',
        COLLAPSE_MODINDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
    };
    </script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <!--[if lt IE 7]>
    <style media="screen" type="text/css">
    #container {
        height:100%;
    }
    </style>
    <![endif]-->
    <link rel="top" title="API Extractor v0.10.0 documentation" href="index.html" />
    <link rel="next" title="3.1. Specifying Types" href="typesystem_specifying_types.html" />
    <link rel="prev" title="2. Ownership Management" href="ownership.html" /> 
  </head>
  <body id="typesystem">

<div id="container">
<div id="header">
    <div id="header_container">
        <div id="logo"><a href="http://www.pyside.org"><img alt="PySide" src="_static/pysidelogo.png" width="199" height="102" /></a></div>
        <ul id="relbar">
            <li class="right">
            <a href="typesystem_specifying_types.html" title="3.1. Specifying Types"
                accesskey="N">next</a></li>
            <li class="right">
            <a href="ownership.html" title="2. Ownership Management"
                accesskey="P">previous</a> |</li>
            <li><a href="contents.html">API Extractor v0.10.0 documentation</a> &raquo;</li> 
        </ul>
    </div>
</div>

<div id="body" >
    <div id="sidebar">
            <h3>Previous topic</h3>
            <p class="topless"><a href="ownership.html"
                                  title="previous chapter">2. Ownership Management</a></p>
            <h3>Next topic</h3>
            <p class="topless"><a href="typesystem_specifying_types.html"
                                  title="next chapter">3.1. Specifying Types</a></p>

        <div id="search_box">
        <h3>Quick search</h3>
        <form action="search.html" method="get">
        <input type="text" name="q" id="q" />
        <input type="submit" value="Go" id="search_button" />
        <input type="hidden" name="check_keywords" value="yes" />
        <input type="hidden" name="area" value="default" />
        </form>
        </div>

    </div>
    
  <div class="section" id="the-api-extractor-type-system">
<h1>3. The API Extractor Type System</h1>
<p>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.</p>
<p>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.</p>
<p>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 PySide. These files can be found in the data directory of the PySide
package.</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="typesystem_specifying_types.html">3.1. Specifying Types</a><ul>
<li class="toctree-l2"><a class="reference internal" href="typesystem_specifying_types.html#typesystem">3.1.1. typesystem</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_specifying_types.html#load-typesystem">3.1.2. load-typesystem</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_specifying_types.html#rejection">3.1.3. rejection</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_specifying_types.html#primitive-type">3.1.4. primitive-type</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_specifying_types.html#namespace-type">3.1.5. namespace-type</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_specifying_types.html#enum-type">3.1.6. enum-type</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_specifying_types.html#reject-enum-value">3.1.7. reject-enum-value</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_specifying_types.html#value-type">3.1.8. value-type</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_specifying_types.html#object-type">3.1.9. object-type</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_specifying_types.html#interface-type">3.1.10. interface-type</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_specifying_types.html#container-type">3.1.11. container-type</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_specifying_types.html#function">3.1.12. function</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="typesystem_manipulating_objects.html">3.2. Manipulating Object and Value Types</a><ul>
<li class="toctree-l2"><a class="reference internal" href="typesystem_manipulating_objects.html#inject-code">3.2.1. inject-code</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_manipulating_objects.html#modify-field">3.2.2. modify-field</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_manipulating_objects.html#modify-function">3.2.3. modify-function</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_manipulating_objects.html#add-function">3.2.4. add-function</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_manipulating_objects.html#conversion-rule">3.2.5. conversion-rule</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="typesystem_modify_function.html">3.3. Modifying Functions</a><ul>
<li class="toctree-l2"><a class="reference internal" href="typesystem_modify_function.html#modify-argument">3.3.1. modify-argument</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_modify_function.html#remove">3.3.2. remove</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_modify_function.html#access">3.3.3. access</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_modify_function.html#rename">3.3.4. rename</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="typesystem_arguments.html">3.4. Modifying Arguments</a><ul>
<li class="toctree-l2"><a class="reference internal" href="typesystem_arguments.html#conversion-rule">3.4.1. conversion-rule</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_arguments.html#remove-argument">3.4.2. remove-argument</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_arguments.html#rename-to">3.4.3. rename to</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_arguments.html#remove-default-expression">3.4.4. remove-default-expression</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_arguments.html#replace-default-expression">3.4.5. replace-default-expression</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_arguments.html#replace-type">3.4.6. replace-type</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_arguments.html#define-ownership">3.4.7. define-ownership</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_arguments.html#reference-count">3.4.8. reference-count</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_arguments.html#replace-value">3.4.9. replace-value</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_arguments.html#parent">3.4.10. parent</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="typesystem_solving_compilation.html">3.5. Solving compilation problems</a><ul>
<li class="toctree-l2"><a class="reference internal" href="typesystem_solving_compilation.html#suppress-warning">3.5.1. suppress-warning</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_solving_compilation.html#extra-includes">3.5.2. extra-includes</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_solving_compilation.html#include">3.5.3. include</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="typesystem_templates.html">3.6. Using Code Templates</a><ul>
<li class="toctree-l2"><a class="reference internal" href="typesystem_templates.html#template">3.6.1. template</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_templates.html#insert-template">3.6.2. insert-template</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_templates.html#replace">3.6.3. replace</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="typesystem_documentation.html">3.7. Manipulating Documentation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="typesystem_documentation.html#inject-documentation">3.7.1. inject-documentation</a></li>
<li class="toctree-l2"><a class="reference internal" href="typesystem_documentation.html#modify-documentation">3.7.2. modify-documentation</a></li>
</ul>
</li>
</ul>
</div>
</div>


</div> <!-- container    -->
<div id="footer">
    <a href="http://www.indt.org.br"><img src="_static/logo_indt.jpg" alt="Indt" border="0" /></a>
    <a href="http://www.openbossa.org"><img src="_static/logo_openbossa.png" alt="Openbossa" border="0" /></a>
    <a href="http://qt.nokia.com/"><img src="_static/logo_qt.png" alt="Qt" border="0" /></a>
    <a href="http://www.python.org"><img src="_static/logo_python.jpg" alt="Python" border="0" /></a>
</div>
</div>
</body>
</html>