|
Boost-Commit : |
From: chochlik_at_[hidden]
Date: 2008-07-30 10:59:05
Author: matus.chochlik
Date: 2008-07-30 10:59:05 EDT (Wed, 30 Jul 2008)
New Revision: 47886
URL: http://svn.boost.org/trac/boost/changeset/47886
Log:
[mirror 0.2.x]
- Removed the old documentation
- Updated the boost book generated docs
Added:
sandbox/mirror/libs/mirror/doc/rationale.xml (contents, props changed)
Removed:
sandbox/mirror/libs/mirror/doc/old_doc/
Text files modified:
sandbox/mirror/libs/mirror/doc/mirror.xml | 1
sandbox/mirror/libs/mirror/doc/reference.xml | 90 +++++++++++++++++++++++++++++++++++++++
2 files changed, 89 insertions(+), 2 deletions(-)
Modified: sandbox/mirror/libs/mirror/doc/mirror.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/mirror.xml (original)
+++ sandbox/mirror/libs/mirror/doc/mirror.xml 2008-07-30 10:59:05 EDT (Wed, 30 Jul 2008)
@@ -42,6 +42,7 @@
<xi:include href="introduction.xml"/>
<xi:include href="tutorial.xml"/>
<xi:include href="reference.xml"/>
+ <xi:include href="rationale.xml"/>
</library>
Added: sandbox/mirror/libs/mirror/doc/rationale.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/rationale.xml 2008-07-30 10:59:05 EDT (Wed, 30 Jul 2008)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE section PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
+ "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
+<section id="mirror.rationale"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+>
+ <title>Rationale</title>
+
+ <using-namespace name="boost"/>
+ <using-namespace name="boost::mirror"/>
+
+ <para>
+ </para>
+
+</section>
Modified: sandbox/mirror/libs/mirror/doc/reference.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference.xml 2008-07-30 10:59:05 EDT (Wed, 30 Jul 2008)
@@ -6,10 +6,96 @@
<para>
</para>
- <section>
+ <section id="mirror.reference.registering">
+ <title>Registering</title>
+ <para>Constructs like namespaces, types, typedefs, classes, class member attributes, base classes, etc.
+ need to be registered before they can be reflected or otherwise used. To simplify the registration
+ process and to make it more convenient, the <libraryname>Mirror</libraryname> library provides several
+ preprocessor macros described in greater detail in the references pages accessible through the links provided below.
+ </para>
+ <para>Preprocessor macros are frowned upon and not without reasons, but they are helpful in many situations non the less
+ and with little caution don't cause any problems. One of the reasons for using macros for registering various things in
+ <libraryname>Mirror</libraryname> is, that they hide rather complex definitions of specializations of various templates
+ and other details and are much more readable and understandable.
+ Another reason for using macros is, that mirror needs to "remember" the name of the namespace, type, class, etc.
+ and this is where the preprocessor's stringization operator is extremly useful as it removes the necessity to explicitly
+ pass the name in a c-string literal.
+ </para>
+ <para>The registering macros are listed in the following table together with brief notes and links to reference pages for
+ the individual macros.
+ As a general rule of the thumb these macros should be used in the <code>boost::mirror</code> namespace.
+ </para>
+ <table frame="all"><title>Registering macros</title>
+ <tgroup cols="3">
+ <thead>
+ <row> <entry>Macro</entry> <entry>Usage</entry> <entry>Notes</entry> </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><code><macroname>BOOST_MIRROR_REG_NAMESPACE</macroname></code></entry>
+ <entry>Registers a namespace</entry>
+ <entry></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ <section id="mirror.reference.reflecting">
+ <title>Reflecting</title>
+ <para>
+ </para>
+ <para>The reflecting macros are listed in the following table together with brief notes and links to reference pages for
+ the individual macros.
+ </para>
+ <table frame="all"><title>Reflection macros</title>
+ <tgroup cols="3">
+ <thead>
+ <row> <entry>Macro</entry> <entry>Usage</entry> <entry>Notes</entry> </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><code><macroname>BOOST_MIRRORED_NAMESPACE</macroname></code></entry>
+ <entry>Reflects a namespace</entry>
+ <entry>Expands into a <code><classname>meta_namespace</classname></code> specialization providing meta-data about the reflected namespace.</entry>
+ </row>
+ <row>
+ <entry><code><macroname>BOOST_MIRRORED_GLOBAL_SCOPE</macroname></code></entry>
+ <entry>Reflects the global scope</entry>
+ <entry>Expands into a <code><classname>meta_namespace</classname></code> specialization providing meta-data about the global scope.</entry>
+ </row>
+ <row>
+ <entry><code><macroname>BOOST_MIRRORED_TYPE</macroname></code></entry>
+ <entry>Reflects a type</entry>
+ <entry>Expands into a <code><classname>meta_type</classname></code> specialization providing meta-data about a type.</entry>
+ </row>
+ <row>
+ <entry><code><macroname>BOOST_MIRRORED_TYPE_NS</macroname></code></entry>
+ <entry>Reflects a type</entry>
+ <entry>Expands into a <code><classname>meta_type</classname></code> specialization providing meta-data about a (nested) type. This version of the <code><macroname>BOOST_MIRRORED_TYPE</macroname></code> macro takes the scope of the type and the base type name as two separate arguments.</entry>
+ </row>
+ <row>
+ <entry><code><macroname>BOOST_MIRRORED_TYPEDEF</macroname></code></entry>
+ <entry>Reflects a <code>typedef</code>ined type</entry>
+ <entry>Expands into a <code><classname>meta_type</classname></code> specialization providing meta-data about a (nested) typedef.</entry>
+ </row>
+ <row>
+ <entry><code><macroname>BOOST_MIRRORED_TYPEOF</macroname></code></entry>
+ <entry>Reflects the type of an expression</entry>
+ <entry>Expands into a <code><classname>meta_type</classname></code> specialization providing meta-data about the type of the expression given as an argument.</entry>
+ </row>
+ <row>
+ <entry><code><macroname>BOOST_MIRRORED_CLASS</macroname></code></entry>
+ <entry>Reflects a class</entry>
+ <entry>Expands into a <code><classname>meta_class</classname></code> specialization providing meta-data about a class.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ <section id="mirror.reference.meta_objects">
<title>Meta Objects</title>
</section>
- <section>
+ <section id="mirror.reference.traits">
<title>Traits</title>
</section>
<section>
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk