|
Boost-Commit : |
From: chochlik_at_[hidden]
Date: 2008-05-06 13:27:39
Author: matus.chochlik
Date: 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
New Revision: 45176
URL: http://svn.boost.org/trac/boost/changeset/45176
Log:
Updated documentation
Updated xsl templates that are used to format the docs.
Added:
sandbox/mirror/libs/mirror/doc/xml/mirror/pages/reflecting.xml (contents, props changed)
sandbox/mirror/libs/mirror/doc/xml/mirror/pages/registering.xml (contents, props changed)
sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_TYPE.xml (contents, props changed)
sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_TYPEDEFD.xml (contents, props changed)
sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_TYPE_EMBEDDED.xml (contents, props changed)
sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_TYPE_GLOBAL_SCOPE.xml (contents, props changed)
sandbox/mirror/libs/mirror/doc/xml/mirror/sections/reference/reg_types.xml (contents, props changed)
Text files modified:
sandbox/mirror/libs/mirror/doc/xml/mirror/_library.xml | 12 ++++++++
sandbox/mirror/libs/mirror/doc/xml/mirror/pages/full_reference.xml | 3 +
sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_NAMESPACE.xml | 7 ++++
sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_NAMESPACE_TOP_LEVEL.xml | 5 +++
sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_.xml | 4 ++
sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_boost.xml | 3 +
sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_boost_mirror.xml | 5 ++-
sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_std.xml | 3 +
sandbox/mirror/libs/mirror/doc/xml/mirror/sections/toc_brief.xml | 2 +
sandbox/mirror/libs/mirror/doc/xml/xslt/html/doc_page.xsl | 1
sandbox/mirror/libs/mirror/doc/xml/xslt/html/feature_ref.xsl | 59 ++++++++++++++++++++++++++++++++++-----
11 files changed, 89 insertions(+), 15 deletions(-)
Modified: sandbox/mirror/libs/mirror/doc/xml/mirror/_library.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/xml/mirror/_library.xml (original)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/_library.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -135,5 +135,17 @@
errors with gcc.
- Tested with MSVC++ 2008 EE on Vista and gcc 4.2.1 on FreeBSD
</revision>
+ <revision id="20080504" major="0" minor="1" micro="20" author="m_ch">
+ - Renamed the REG_META_NAMESPACE macro to REG_NAMESPACE
+ - Renamed the REG_META_TYPE macro to REG_TYPE
+ - Updated the documentation
+ - Updated the xsl templates
+ </revision>
+ <revision id="20080506" major="0" minor="1" micro="21" author="m_ch">
+ - Renamed the REG_META_NAMESPACE macro to REG_NAMESPACE
+ - Renamed the REG_META_TYPE macro to REG_TYPE
+ - Updated the documentation
+ - Updated the xsl templates
+ </revision>
</revisions>
</library>
Modified: sandbox/mirror/libs/mirror/doc/xml/mirror/pages/full_reference.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/xml/mirror/pages/full_reference.xml (original)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/pages/full_reference.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -4,6 +4,7 @@
<paragraph>
</paragraph>
<include reference_section="reg_namespaces"/>
- <include reference_section="ns_reg_by_default"/>
<include reference_section="refl_namespaces"/>
+ <include reference_section="ns_reg_by_default"/>
+ <include reference_section="reg_types"/>
</doc_page>
Added: sandbox/mirror/libs/mirror/doc/xml/mirror/pages/reflecting.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/pages/reflecting.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<?xml-stylesheet type="text/xsl" href="../../xslt/html.xsl"?>
+<doc_page title="Reflecting" name="reflecting">
+ <paragraph>
+ </paragraph>
+ <include reference_section="refl_namespaces"/>
+</doc_page>
Added: sandbox/mirror/libs/mirror/doc/xml/mirror/pages/registering.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/pages/registering.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<?xml-stylesheet type="text/xsl" href="../../xslt/html.xsl"?>
+<doc_page title="Registering" name="registering">
+ <paragraph>
+ In order to be able to reflect various C++ constructs, <lib_name_ref/> needs (most of) them to be registered beforehand. The registering is done by the means of several preprocessor macros like <feat_ref>REG_NAMESPACE</feat_ref>, <feat_ref>REG_NAMESPACE_TOP_LEVEL</feat_ref>, <feat_ref>REG_TYPE</feat_ref>, etc.
+ </paragraph>
+ <include reference_section="reg_namespaces"/>
+ <include reference_section="reg_types"/>
+</doc_page>
Modified: sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_NAMESPACE.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_NAMESPACE.xml (original)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_NAMESPACE.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -2,7 +2,7 @@
<feature_doc>
<overview>
<paragraph>
- The <feat_ref>REG_NAMESPACE</feat_ref> macro registers the given nested namespace with the <lib_name_ref/> library. The 'top-level' namespaces (i.e. not nested) can be registered with the <feat_ref>REG_NAMESPACE_TOP_LEVEL</feat_ref> macro.
+ The <feat_ref>REG_NAMESPACE</feat_ref> macro registers the given nested namespace with the <lib_name_ref/> library. The 'top-level' (not nested) namespaces can be registered with the <feat_ref>REG_NAMESPACE_TOP_LEVEL</feat_ref> macro.
</paragraph>
</overview>
<macro name="REG_NAMESPACE">
@@ -31,6 +31,9 @@
</cpp_indent><cpp_line>} <cpp_comment>// namespace bar</cpp_comment></cpp_line>
</cpp_indent><cpp_line>} <cpp_comment>// namespace foo</cpp_comment></cpp_line>
<cpp_line/>
+ <cpp_line><cpp_comment>// the macros must be used in the boost::mirror namespace</cpp_comment></cpp_line>
+ <cpp_line>namespace boost {</cpp_line><cpp_indent>
+ <cpp_line>namespace mirror {</cpp_line><cpp_indent>
<cpp_line><cpp_comment>// register the top-level namespace foo </cpp_comment></cpp_line>
<cpp_line><feat_ref>REG_NAMESPACE_TOP_LEVEL</feat_ref>(foo)</cpp_line>
<cpp_line/>
@@ -42,6 +45,8 @@
<cpp_line><cpp_comment>// in the scope of _foo_bar (::foo::bar).</cpp_comment></cpp_line>
<cpp_line><cpp_comment>// this creates a _foo_bar_detail alias </cpp_comment></cpp_line>
<cpp_line><feat_ref>REG_NAMESPACE</feat_ref>(_foo_bar, detail)</cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace mirror</cpp_comment></cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace boost</cpp_comment></cpp_line>
</cpp_source>
</example>
</feature_doc>
Modified: sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_NAMESPACE_TOP_LEVEL.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_NAMESPACE_TOP_LEVEL.xml (original)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_NAMESPACE_TOP_LEVEL.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -23,9 +23,14 @@
<cpp_line>namespace foo {</cpp_line>
<cpp_line>} <cpp_comment>// namespace foo</cpp_comment></cpp_line>
<cpp_line/>
+ <cpp_line><cpp_comment>// the macros must be used in the boost::mirror namespace</cpp_comment></cpp_line>
+ <cpp_line>namespace boost {</cpp_line><cpp_indent>
+ <cpp_line>namespace mirror {</cpp_line><cpp_indent>
<cpp_line><cpp_comment>// register top-level namespace foo.</cpp_comment></cpp_line>
<cpp_line><cpp_comment>// this creates a _foo namespace alias </cpp_comment></cpp_line>
<cpp_line><feat_ref>REG_NAMESPACE_TOP_LEVEL</feat_ref>(foo)</cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace mirror</cpp_comment></cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace boost</cpp_comment></cpp_line>
</cpp_source>
</example>
</feature_doc>
Added: sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_TYPE.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_TYPE.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feature_doc>
+ <overview>
+ <paragraph>
+ The <feat_ref>REG_TYPE</feat_ref> macro registers the given type or class, declared inside a namespace with the <lib_name_ref/> library. The <feat_ref>REG_TYPEDEFD</feat_ref> can be used to register a <cpp_expr>typedef</cpp_expr> defined types.
+ </paragraph>
+ </overview>
+ <macro name="REG_TYPE">
+ <arg name="NAMESPACE_ALIAS">
+ <Lib_name_ref/> namespace alias of the namespace, inside of which the type is declared. The namespace must be previously registered with mirror.
+ </arg>
+ <arg name="SCOPE">
+ The scope where the type is declared (i.e. ::toplevel::nested).
+ </arg>
+ <arg name="TYPE_NAME">
+ The (unqualified) name of the type to be registered.
+ </arg>
+ </macro>
+ <overview>
+ </overview>
+ <requirements>
+ <header>meta_type.hpp</header>
+ </requirements>
+ <example>
+ <cpp_source>
+ <cpp_line>namespace foo {</cpp_line><cpp_indent>
+ <cpp_line>namespace detail {</cpp_line><cpp_indent>
+ <cpp_line>struct bar { };</cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace detail</cpp_comment></cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace foo</cpp_comment></cpp_line>
+ <cpp_line/>
+ <cpp_line><cpp_comment>// the registering must be done </cpp_comment></cpp_line>
+ <cpp_line><cpp_comment>// in the boost::mirror namespace</cpp_comment></cpp_line>
+ <cpp_line>namespace boost {</cpp_line><cpp_indent>
+ <cpp_line>namespace mirror {</cpp_line><cpp_indent>
+ <cpp_line><cpp_comment>// register the _foo and _foo_detail namespaces</cpp_comment></cpp_line>
+ <cpp_line><feat_ref>REG_NAMESPACE_TOP_LEVEL</feat_ref>(foo)</cpp_line>
+ <cpp_line><feat_ref>REG_NAMESPACE</feat_ref>(_foo, detail)</cpp_line>
+ <cpp_line><cpp_comment>// register the bar class from the foo::detail namespace</cpp_comment></cpp_line>
+ <cpp_line><feat_ref>REG_TYPE</feat_ref>(_foo_detail, ::foo::detail, bar)</cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace mirror</cpp_comment></cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace boost</cpp_comment></cpp_line>
+ </cpp_source>
+ </example>
+</feature_doc>
+
Added: sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_TYPEDEFD.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_TYPEDEFD.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feature_doc>
+ <overview>
+ <paragraph>
+ The <feat_ref>REG_TYPEDEFD</feat_ref> macro registers a <cpp_expr>typedef</cpp_expr> defined type with the <lib_name_ref/> library. When a <cpp_expr>typedef</cpp_expr>ined type is registered, it can be distinguished from the original type in some situations. One can for example query it's new typename.
+ </paragraph>
+ </overview>
+ <macro name="REG_TYPEDEFD">
+ <arg name="NAMESPACE_ALIAS">
+ <Lib_name_ref/> namespace alias of the namespace, inside of which the type is defined.
+ </arg>
+ <arg name="SCOPE">
+ The scope where the type is <cpp_expr>typedef</cpp_expr>'d (i.e. ::toplevel::nested).
+ </arg>
+ <arg name="TYPEDEFD_NAME">
+ The <cpp_expr>typedef</cpp_expr>'d name (without the nested name specifier).
+ </arg>
+ </macro>
+ <overview>
+ </overview>
+ <requirements>
+ <header>meta_type.hpp</header>
+ </requirements>
+ <example>
+ <cpp_source>
+ <cpp_line>namespace foo {</cpp_line><cpp_indent>
+ <cpp_line>namespace detail {</cpp_line><cpp_indent>
+ <cpp_line><cpp_comment>// a typedef'd type </cpp_comment></cpp_line>
+ <cpp_line>typedef double foobar;</cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace detail</cpp_comment></cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace foo</cpp_comment></cpp_line>
+ <cpp_line/>
+ <cpp_line><cpp_comment>// the registering must be done </cpp_comment></cpp_line>
+ <cpp_line><cpp_comment>// in the boost::mirror namespace</cpp_comment></cpp_line>
+ <cpp_line>namespace boost {</cpp_line><cpp_indent>
+ <cpp_line>namespace mirror {</cpp_line><cpp_indent>
+ <cpp_line><cpp_comment>// register the namespaces </cpp_comment></cpp_line>
+ <cpp_line><feat_ref>REG_NAMESPACE_TOP_LEVEL</feat_ref>(foo)</cpp_line>
+ <cpp_line><feat_ref>REG_NAMESPACE</feat_ref>(_foo, detail)</cpp_line>
+ <cpp_line><cpp_comment>// register the typedef'd type </cpp_comment></cpp_line>
+ <cpp_line><feat_ref>REG_TYPEDEFD</feat_ref>(_foo_detail, ::foo::detail, foobar)</cpp_line>
+ <cpp_line/>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace mirror</cpp_comment></cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace boost</cpp_comment></cpp_line>
+ </cpp_source>
+ </example>
+</feature_doc>
+
Added: sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_TYPE_EMBEDDED.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_TYPE_EMBEDDED.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feature_doc>
+ <overview>
+ <paragraph>
+ The <feat_ref>REG_TYPE_EMBEDDED</feat_ref> macro registers a type declared inside of a class with the <lib_name_ref/> library.
+ </paragraph>
+ </overview>
+ <macro name="REG_TYPE_EMBEDDED">
+ <arg name="WRAPPER">
+ The (full) name of the class inside of which the type or class is declared. This class must be already registered.
+ </arg>
+ <arg name="TYPENAME">
+ The name of the type or class to be registered (without nested name specifier).
+ </arg>
+ </macro>
+ <overview>
+ </overview>
+ <requirements>
+ <header>meta_type.hpp</header>
+ </requirements>
+ <example>
+ <cpp_source>
+ <cpp_line>namespace foo {</cpp_line><cpp_indent>
+ <cpp_line>namespace detail {</cpp_line><cpp_indent>
+ <cpp_line>struct bar</cpp_line>
+ <cpp_line>{</cpp_line><cpp_indent>
+ <cpp_line>struct part</cpp_line>
+ <cpp_line>{</cpp_line><cpp_indent>
+ </cpp_indent><cpp_line>};<cpp_comment>// struct part</cpp_comment></cpp_line>
+ </cpp_indent><cpp_line>};<cpp_comment>// struct bar</cpp_comment></cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace detail</cpp_comment></cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace foo</cpp_comment></cpp_line>
+ <cpp_line/>
+ <cpp_line><cpp_comment>// the registering must be done </cpp_comment></cpp_line>
+ <cpp_line><cpp_comment>// in the boost::mirror namespace</cpp_comment></cpp_line>
+ <cpp_line>namespace boost {</cpp_line><cpp_indent>
+ <cpp_line>namespace mirror {</cpp_line><cpp_indent>
+ <cpp_line><cpp_comment>// register the namespaces </cpp_comment></cpp_line>
+ <cpp_line><feat_ref>REG_NAMESPACE_TOP_LEVEL</feat_ref>(foo)</cpp_line>
+ <cpp_line><feat_ref>REG_NAMESPACE</feat_ref>(_foo, detail)</cpp_line>
+ <cpp_line/>
+ <cpp_line><cpp_comment>// register the 'wrapping' class</cpp_comment></cpp_line>
+ <cpp_line><feat_ref>REG_TYPE</feat_ref>(_foo_detail, ::foo::detail, bar)</cpp_line>
+ <cpp_line><cpp_comment>// register the 'embedded' class</cpp_comment></cpp_line>
+ <cpp_line><feat_ref>REG_TYPE_EMBEDDED</feat_ref>(::foo::detail::bar, part)</cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace mirror</cpp_comment></cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace boost</cpp_comment></cpp_line>
+ </cpp_source>
+ </example>
+</feature_doc>
+
Added: sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_TYPE_GLOBAL_SCOPE.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/reference/REG_TYPE_GLOBAL_SCOPE.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feature_doc>
+ <overview>
+ <paragraph>
+ This macro registers a type or class defined in the global scope with the <lib_name_ref/> library.
+ </paragraph>
+ </overview>
+ <macro name="REG_TYPE_GLOBAL_SCOPE">
+ <arg name="TYPENAME">
+ The name of the type to be registered.
+ </arg>
+ </macro>
+ <overview>
+ </overview>
+ <requirements>
+ <header>meta_type.hpp</header>
+ </requirements>
+ <example>
+ <cpp_source>
+ <cpp_line>struct test { };</cpp_line>
+ <cpp_line><cpp_comment>// the registering macros must be used </cpp_comment></cpp_line>
+ <cpp_line><cpp_comment>// in the boost::mirror namespace</cpp_comment></cpp_line>
+ <cpp_line>namespace boost {</cpp_line><cpp_indent>
+ <cpp_line>namespace mirror {</cpp_line><cpp_indent>
+ <cpp_line><cpp_comment>// register the test type </cpp_comment></cpp_line>
+ <cpp_line><feat_ref>REG_TYPE_GLOBAL_SCOPE</feat_ref>(test)</cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace mirror</cpp_comment></cpp_line>
+ </cpp_indent><cpp_line>} <cpp_comment>// namespace boost</cpp_comment></cpp_line>
+ </cpp_source>
+ </example>
+</feature_doc>
+
Modified: sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_.xml (original)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -13,11 +13,13 @@
</requirements>
<example>
<cpp_source>
+ <cpp_line><cpp_preproc>#include<<mirror_header>traits/reflects_global_scope.hpp</mirror_header>></cpp_preproc></cpp_line>
+ <cpp_line/>
<cpp_line><cpp_comment>// reflects_global_scope is true_type if the meta_namespace</cpp_comment></cpp_line>
<cpp_line><cpp_comment>// reflects the global scope (referred to by the _ alias)</cpp_comment></cpp_line>
<cpp_line><cpp_comment>// or is false_type otherwise.</cpp_comment></cpp_line>
<cpp_line>reflects_global_scope< </cpp_line><cpp_indent>
- <cpp_line><feat_ref>REFLECT_NAMESPACE</feat_ref>(_) </cpp_line>
+ <cpp_line><feat_ref>REFLECT_NAMESPACE</feat_ref>(<feat_ref>_</feat_ref>) </cpp_line>
</cpp_indent><cpp_line>> :: value </cpp_line>
</cpp_source>
</example>
Modified: sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_boost.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_boost.xml (original)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_boost.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -14,12 +14,13 @@
<example>
<cpp_source>
<cpp_line><cpp_preproc>#include<boost/mpl/not.hpp></cpp_preproc></cpp_line>
+ <cpp_line><cpp_preproc>#include<<mirror_header>traits/reflects_global_scope.hpp</mirror_header>></cpp_preproc></cpp_line>
<cpp_line/>
<cpp_line><cpp_comment>// reflects_global_scope is true_type if the meta_namespace</cpp_comment></cpp_line>
<cpp_line><cpp_comment>// reflects the global scope (referred to by the _ alias)</cpp_comment></cpp_line>
<cpp_line><cpp_comment>// or is false_type otherwise.</cpp_comment></cpp_line>
<cpp_line>mpl::not<reflects_global_scope< </cpp_line><cpp_indent>
- <cpp_line><feat_ref>REFLECT_NAMESPACE</feat_ref>(_boost) </cpp_line>
+ <cpp_line><feat_ref>REFLECT_NAMESPACE</feat_ref>(<feat_ref>_boost</feat_ref>) </cpp_line>
</cpp_indent><cpp_line>> > :: value </cpp_line>
</cpp_source>
</example>
Modified: sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_boost_mirror.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_boost_mirror.xml (original)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_boost_mirror.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -13,11 +13,12 @@
</requirements>
<example>
<cpp_source>
+ <cpp_line><cpp_preproc>#include<<mirror_header>traits/reflects_global_scope.hpp</mirror_header>></cpp_preproc></cpp_line>
<cpp_line/>
<cpp_line><cpp_preproc>// the ::boost::mirror is defined inside of ::boost</cpp_preproc></cpp_line>
<cpp_line>BOOST_STATIC_ASSERT(is_same< </cpp_line><cpp_indent>
- <cpp_line><feat_ref>REFLECT_NAMESPACE</feat_ref>(_boost_mirror) :: scope, </cpp_line>
- <cpp_line><feat_ref>REFLECT_NAMESPACE</feat_ref>(_boost) </cpp_line>
+ <cpp_line><feat_ref>REFLECT_NAMESPACE</feat_ref>(<feat_ref>_boost_mirror</feat_ref>) :: scope, </cpp_line>
+ <cpp_line><feat_ref>REFLECT_NAMESPACE</feat_ref>(<feat_ref>_boost</feat_ref>) </cpp_line>
</cpp_indent><cpp_line>> :: value)</cpp_line>
</cpp_source>
</example>
Modified: sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_std.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_std.xml (original)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/reference/_std.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -14,12 +14,13 @@
<example>
<cpp_source>
<cpp_line><cpp_preproc>#include<boost/mpl/not.hpp></cpp_preproc></cpp_line>
+ <cpp_line><cpp_preproc>#include<<mirror_header>traits/reflects_global_scope.hpp</mirror_header>></cpp_preproc></cpp_line>
<cpp_line/>
<cpp_line><cpp_comment>// reflects_global_scope is true_type if the meta_namespace</cpp_comment></cpp_line>
<cpp_line><cpp_comment>// reflects the global scope (referred to by the _ alias)</cpp_comment></cpp_line>
<cpp_line><cpp_comment>// or is false_type otherwise.</cpp_comment></cpp_line>
<cpp_line>mpl::not<reflects_global_scope< </cpp_line><cpp_indent>
- <cpp_line><feat_ref>REFLECT_NAMESPACE</feat_ref>(_std) </cpp_line>
+ <cpp_line><feat_ref>REFLECT_NAMESPACE</feat_ref>(<feat_ref>_std</feat_ref>) </cpp_line>
</cpp_indent><cpp_line>> > :: value </cpp_line>
</cpp_source>
</example>
Added: sandbox/mirror/libs/mirror/doc/xml/mirror/sections/reference/reg_types.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/sections/reference/reg_types.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<section title="Registering types" name="reg_types">
+ <paragraph>
+ There are several macros that do the type registering. The types or classes declared on the global scope can be registered with the <feat_ref>REG_TYPE_GLOBAL_SCOPE</feat_ref> macro.
+ Types declared in a named namespace are registered with the <feat_ref>REG_TYPE</feat_ref> and <feat_ref>REG_TYPEDEFD</feat_ref> macros.
+ Types declared inside of a class can be registered with the <feat_ref>REG_TYPE_EMBEDDED</feat_ref> macro.
+ </paragraph>
+ <include reference="REG_TYPE_GLOBAL_SCOPE"/>
+ <include reference="REG_TYPE"/>
+ <include reference="REG_TYPEDEFD"/>
+ <include reference="REG_TYPE_EMBEDDED"/>
+</section>
Modified: sandbox/mirror/libs/mirror/doc/xml/mirror/sections/toc_brief.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/xml/mirror/sections/toc_brief.xml (original)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/sections/toc_brief.xml 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -3,6 +3,8 @@
<link_set>
<link page="index"/>
<link page="quick_start"/>
+ <link page="registering"/>
+ <link page="reflecting"/>
<link page="full_reference"/>
</link_set>
</section>
Modified: sandbox/mirror/libs/mirror/doc/xml/xslt/html/doc_page.xsl
==============================================================================
--- sandbox/mirror/libs/mirror/doc/xml/xslt/html/doc_page.xsl (original)
+++ sandbox/mirror/libs/mirror/doc/xml/xslt/html/doc_page.xsl 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -98,6 +98,7 @@
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"/>
<META NAME="author" CONTENT="Matus Chochlik"/>
<LINK REL="stylesheet" HREF="../../css/mirror.css" TYPE="text/css"/>
+ <LINK REL="Index" HREF="index.html" TYPE="text/html"/>
</HEAD>
<BODY>
<H1><xsl:value-of select="@title"/></H1>
Modified: sandbox/mirror/libs/mirror/doc/xml/xslt/html/feature_ref.xsl
==============================================================================
--- sandbox/mirror/libs/mirror/doc/xml/xslt/html/feature_ref.xsl (original)
+++ sandbox/mirror/libs/mirror/doc/xml/xslt/html/feature_ref.xsl 2008-05-06 13:27:37 EDT (Tue, 06 May 2008)
@@ -7,6 +7,12 @@
- template for the feature reference
-->
<xsl:template match="feature_doc">
+ <DIV class="feature-doc">
+ <xsl:element name="A">
+ <xsl:attribute name="NAME">
+ <xsl:value-of select="macro/@name|other/@name"/>
+ </xsl:attribute>
+ </xsl:element>
<H4 class="feature-doc">
<xsl:choose>
<xsl:when test="macro">
@@ -22,6 +28,7 @@
</xsl:choose>
</H4>
<xsl:apply-templates/>
+ </DIV>
</xsl:template>
<!--
@@ -57,12 +64,20 @@
<H5><xsl:text>Required headers:</xsl:text></H5>
<xsl:for-each select="header">
<CODE><SPAN class="cpp-preproc">
- <xsl:text>#include <boost/mirror/</xsl:text>
- <xsl:value-of select="."/>
+ <xsl:text>#include <</xsl:text>
+ <xsl:element name="A">
+ <xsl:attribute name="href">
+ <xsl:text>../../../../../../boost/mirror/</xsl:text>
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ <xsl:text>boost/mirror/</xsl:text>
+ <xsl:value-of select="."/>
+ </xsl:element>
<xsl:text>></xsl:text>
</SPAN></CODE>
</xsl:for-each>
</xsl:template>
+
<!--
- example
-->
@@ -81,12 +96,40 @@
<xsl:text>.xml</xsl:text>
</xsl:variable>
<SPAN class="feature-ref">
- <xsl:choose>
- <xsl:when test="document($doc_url)/feature_doc/macro">
- <xsl:value-of select="$macro_prefix"/>
- </xsl:when>
- </xsl:choose>
- <xsl:value-of select="."/>
+ <xsl:element name="A">
+ <xsl:attribute name="href">
+ <xsl:text>#</xsl:text>
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ <xsl:attribute name="title">
+ <xsl:for-each select="document($doc_url)/feature_doc/requirements/header">
+ <xsl:text>#include <boost/mirror/</xsl:text>
+ <xsl:value-of select="."/>
+ <xsl:text>></xsl:text>
+ </xsl:for-each>
+ </xsl:attribute>
+ <xsl:choose>
+ <xsl:when test="document($doc_url)/feature_doc/macro">
+ <xsl:value-of select="$macro_prefix"/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:value-of select="."/>
+ </xsl:element>
</SPAN>
</xsl:template>
+
+ <!--
+ - mirror_header
+ -->
+ <xsl:template match="mirror_header">
+ <xsl:element name="A">
+ <xsl:attribute name="href">
+ <xsl:text>../../../../../../boost/mirror/</xsl:text>
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ <xsl:text>boost/mirror/</xsl:text>
+ <xsl:value-of select="."/>
+ </xsl:element>
+ </xsl:template>
+
</xsl:stylesheet>
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