Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-release > by-pkgid > d8d30ad953f2dbe7e871721325480315 > files > 313

librttr-devel-0.9.6-1.mga7.armv7hl.rpm

<!-- HTML header for doxygen 1.8.8-->
<!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="X-UA-Compatible" content="IE=edge">
        <!-- For Mobile Devices -->
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
        <meta name="generator" content="Doxygen 1.8.15"/>
        <script type="text/javascript" src="jquery.min.js"></script>
        <title>rttr: RTTR - Run Time Type Reflection</title>
        <!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
        <script type="text/javascript" src="dynsections.js"></script>
        <link rel = "shortcut icon" type = "image/x-icon" href = "favicon.ico">
        <link rel = "stylesheet" href = "fonts/ptsans_regular_macroman/stylesheet.css">
        <link rel = "stylesheet" href = "fonts/source_code_pro_regular/stylesheet.css">
        <link href="doxygen.css" rel="stylesheet" type="text/css" />
        <link href="custom-doxygen.css" rel="stylesheet" type="text/css"/>
        <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
        <link rel="stylesheet" href="custom-bootstrap.css">
        <script src="bootstrap/js/bootstrap.min.js"></script>
        <script type="text/javascript" src="doxy-boot.js"></script>
    </head>
    <body>
     <!--
        <nav class="navbar navbar-default" role="navigation">
            <div class="container">
                <div class="navbar-header">
                    <a class="navbar-brand">rttr 0.9.6</a>
                </div>
            </div>
        </nav>
        -->
        <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
            <div class="content" id="content">
                <div class="container">
                    <div class="row">
                        <div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
                            <div style="margin-bottom: 15px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="PageDoc"><div class="header">
  <div class="headertitle">
<div class="title">RTTR - Run Time Type Reflection </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h2>Introduction </h2>
<p>The <em>run time type reflection</em> (RTTR) library adds the missing feature of reflection to C++. That means the programmer can introspect an object at runtime of what kind of properties, methods and constructors it consist. This is extremely useful when a tight but also high dynamic coupling between software modules is required. The main use cases are for example serialisation, UI creation, binding to arbitrary programming languages (JavaScript, Lua etc.) and network communication.</p>
<p>It works without any extra preprocess pass to reflect your type, only standard C++11 language features are used. However, in order to reflect your types it is required to manually register your classes with its properties and methods. While registering methods it is usually not necessary to know the exact signature, since the library will generate a wrapper class for this depending on the compile-time type of the method. In order to avoid header pollution, the registration process should be done completely in the cpp file. There is also no need to derive from some super base class.</p>
<p>RTTR is released under the terms of the <a class="el" href="license_page.html">MIT license</a>.</p>
<hr/>
<h2>Features </h2>
<p>RTTR supports:</p><ul>
<li>a faster and across shared libraries working replacement of rtti</li>
<li>classes; with <em>single</em>-, <em>multiple</em>- and <em>virtual</em>-inheritance (requires one macro placement inside class)</li>
<li>constructors (arbitrary argument count)</li>
<li>properties</li>
<li>methods (<em>virtual</em>, <em>abstract</em>, <em>overloaded</em>, arbitrary argument count)</li>
<li>enums (C++11 enum class)</li>
<li>arrays (incl. raw-arrays; arbitrary dimension count)</li>
<li>ability to invoke properties and methods of classes from any arbitrary class level</li>
<li>no header pollution; the reflection information is created in the cpp file to minimize compile time when modifying the data</li>
<li>working with custom types without the need of having the declaration of the type available at compile time (useful for plugins)</li>
<li>possibility to add additional <em>metadata</em> to all reflection objects</li>
<li>possibility to add <em>default arguments</em> to methods or constructors</li>
<li>adjust registration behaviour through <em>policies</em></li>
<li>minimal macro usage</li>
<li><b>no</b> exceptions (this feature come with <a href="http://preshing.com/20110807/the-cost-of-enabling-exception-handling/" target="_blank">cost</a> and is also regularly disabled on consoles)</li>
<li><b>no</b> external compiler or tool needed, only standard ISO C++11</li>
</ul>
<h2>Portability </h2>
<p>RTTR is compiled and tested on following platforms:</p><ul>
<li>Microsoft Visual Studio 12 (2013), Update 4 - x32 and x64</li>
<li>gcc 4.8.1 - x32 and x64</li>
</ul>
<h2>Content </h2>
<ul>
<li><a class="el" href="tutorial_page.html">Tutorial</a></li>
<li><a class="el" href="building_install_page.html">Building &amp; Installation</a></li>
<li><a class="el" href="license_page.html">License</a></li>
<li><a href="./annotated.html">Classes</a></li>
</ul>
<hr/>
<h2>Acknowledgements </h2>
<p>The following persons has been very helpful:</p>
<ul>
<li>Ville Voutilainen, for reviewing and improving the code base</li>
<li>Paul Mensonides, for given me an introduction in template and preprocessor metaprogramming </li>
</ul>
</div></div><!-- PageDoc -->
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.9.1-->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
<small>
Generated on Thu Apr 11 2019 20:06:00 for rttr - 0.9.6 by 
<a href="http://www.doxygen.org/index.html">doxygen</a>.
</small>
</address>
</body>
</html>