Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r48983 - in sandbox/mirror: boost/mirror/traits doc/html doc/html/boost/cts doc/html/boost/mirror doc/html/char_type_switch doc/html/mirror libs/mirror/doc libs/mirror/doc/examples libs/mirror/doc/reference libs/mirror/doc/reference/traits libs/mirror/doc/samples
From: chochlik_at_[hidden]
Date: 2008-09-27 11:32:46


Author: matus.chochlik
Date: 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
New Revision: 48983
URL: http://svn.boost.org/trac/boost/changeset/48983

Log:
[mirror 0.2.x]
- Documentation update

Added:
   sandbox/mirror/boost/mirror/traits/reflects_attribute.hpp (contents, props changed)
   sandbox/mirror/doc/html/boost/mirror/meta_class_attribute.html (contents, props changed)
   sandbox/mirror/doc/html/boost/mirror/reflects_attribute.html (contents, props changed)
   sandbox/mirror/doc/html/mirror/concepts.html (contents, props changed)
   sandbox/mirror/doc/html/mirror/examples.html (contents, props changed)
   sandbox/mirror/libs/mirror/doc/concepts.xml (contents, props changed)
   sandbox/mirror/libs/mirror/doc/examples/
   sandbox/mirror/libs/mirror/doc/examples.xml (contents, props changed)
   sandbox/mirror/libs/mirror/doc/examples/refl_namespaces_01.xml (contents, props changed)
   sandbox/mirror/libs/mirror/doc/reference/traits/reflects_attribute.xml (contents, props changed)
Removed:
   sandbox/mirror/doc/html/boost/mirror/meta_attribute.html
   sandbox/mirror/libs/mirror/doc/reference/class_meta_attribute.xml
Text files modified:
   sandbox/mirror/doc/html/BOOST_CTS_LIT.html | 8 +-
   sandbox/mirror/doc/html/BOOST_CTS_LIT_LENGTH.html | 8 +-
   sandbox/mirror/doc/html/BOOST_CTS_STRINGIZE.html | 8 +-
   sandbox/mirror/doc/html/BOOST_CTS_USE_WIDE_CHARS.html | 2
   sandbox/mirror/doc/html/BOOST_MIRRORED_CLASS.html | 8 +-
   sandbox/mirror/doc/html/BOOST_MIRRORED_GLOBAL_SCOPE.html | 2
   sandbox/mirror/doc/html/BOOST_MIRRORED_NAMESPACE.html | 6 +-
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE.html | 2
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF.html | 2
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html | 2
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GS.html | 2
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEOF.html | 2
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE_NS.html | 2
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_NAMESPACE.html | 6 +-
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE.html | 2
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF.html | 2
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE.html | 2
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GS.html | 2
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMB.html | 2
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMBEDDED.html | 2
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE.html | 2
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GS.html | 2
   sandbox/mirror/doc/html/boost/cts/bchar.html | 2
   sandbox/mirror/doc/html/boost/cts/bchar_traits.html | 2
   sandbox/mirror/doc/html/boost/cts/biostream.html | 8 +-
   sandbox/mirror/doc/html/boost/cts/bistream.html | 8 +-
   sandbox/mirror/doc/html/boost/cts/bostream.html | 8 +-
   sandbox/mirror/doc/html/boost/cts/bstring.html | 2
   sandbox/mirror/doc/html/boost/mirror/meta_class.html | 12 ++--
   sandbox/mirror/doc/html/boost/mirror/meta_class_all_attributes.html | 6 +-
   sandbox/mirror/doc/html/boost/mirror/meta_class_attributes.html | 12 ++--
   sandbox/mirror/doc/html/boost/mirror/meta_inheritance.html | 8 +-
   sandbox/mirror/doc/html/boost/mirror/meta_namespace.html | 42 +++++++-------
   sandbox/mirror/doc/html/boost/mirror/meta_type.html | 40 +++++++-------
   sandbox/mirror/doc/html/boost/mirror/reflects_class.html | 8 +-
   sandbox/mirror/doc/html/boost/mirror/reflects_global_scope.html | 78 ++++++++++++++++++++++++++--
   sandbox/mirror/doc/html/boost/mirror/reflects_inheritance.html | 6 +-
   sandbox/mirror/doc/html/boost/mirror/reflects_namespace.html | 72 +++++++++++++++++++++++--
   sandbox/mirror/doc/html/boost/mirror/reflects_type.html | 2
   sandbox/mirror/doc/html/boost/mirror/reflects_virtual_inheritance.html | 6 +-
   sandbox/mirror/doc/html/char_type_switch.html | 8 +-
   sandbox/mirror/doc/html/char_type_switch/reference.html | 84 +++++++++++++++---------------
   sandbox/mirror/doc/html/doc_HTML.manifest | 5 +
   sandbox/mirror/doc/html/index.html | 2
   sandbox/mirror/doc/html/libraries.html | 2
   sandbox/mirror/doc/html/mirror.html | 20 ++++++
   sandbox/mirror/doc/html/mirror/rationale.html | 6 +-
   sandbox/mirror/doc/html/mirror/reference.html | 109 ++++++++++++++++++++++++++++++++++-----
   sandbox/mirror/doc/html/mirror/tutorial.html | 6 +-
   sandbox/mirror/libs/mirror/doc/mirror.xml | 2
   sandbox/mirror/libs/mirror/doc/reference.xml | 67 +++++++++++++++++++++++-
   sandbox/mirror/libs/mirror/doc/reference/class_meta_class.xml | 4
   sandbox/mirror/libs/mirror/doc/reference/class_meta_class_all_attributes.xml | 4
   sandbox/mirror/libs/mirror/doc/reference/class_meta_class_attributes.xml | 4
   sandbox/mirror/libs/mirror/doc/reference/class_meta_inheritance.xml | 8 +-
   sandbox/mirror/libs/mirror/doc/reference/meta_attributes.xml | 2
   sandbox/mirror/libs/mirror/doc/reference/traits/reflects_global_scope.xml | 78 ++++++++++++++++++++++++++--
   sandbox/mirror/libs/mirror/doc/reference/traits/reflects_namespace.xml | 71 +++++++++++++++++++++++--
   sandbox/mirror/libs/mirror/doc/samples/usage_meta_namespace_01.xml | 2
   59 files changed, 647 insertions(+), 235 deletions(-)

Added: sandbox/mirror/boost/mirror/traits/reflects_attribute.hpp
==============================================================================
--- (empty file)
+++ sandbox/mirror/boost/mirror/traits/reflects_attribute.hpp 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -0,0 +1,44 @@
+/**
+ * \file boost/mirror/reflects_attribute.hpp
+ * Meta function that returns true if the given template argument
+ * is an instantiation of meta_attribute
+ *
+ * Copyright 2008 Matus Chochlik. Distributed under the Boost
+ * Software License, Version 1.0. (See accompanying file
+ * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ */
+
+#ifndef BOOST_MIRROR_META_REFLECTS_ATTRIBUTE_HPP
+#define BOOST_MIRROR_META_REFLECTS_ATTRIBUTE_HPP
+
+// true type/false type for trait templates
+#include <boost/type_traits/integral_constant.hpp>
+#include <boost/mirror/meta_attributes.hpp>
+
+namespace boost {
+namespace mirror {
+
+template <class MetaObject>
+struct reflects_inheritance : public false_type { };
+
+template <
+ class ReflectedType,
+ class VariantTag,
+ class MetaAttributes,
+ class AttribPos
+>
+struct reflects_attribute<
+ meta_class_attribute<
+ ReflectedType,
+ VariantTag,
+ MetaAttributes,
+ AttribPos
+ >
+> : public true_type{ };
+
+
+} // namespace mirror
+} // namespace boost
+
+#endif //include guard
+

Modified: sandbox/mirror/doc/html/BOOST_CTS_LIT.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_CTS_LIT.html (original)
+++ sandbox/mirror/doc/html/BOOST_CTS_LIT.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_CTS_LIT(STRING_LITERAL)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2646045"></a><h2>Description</h2>
+<a name="id2615258"></a><h2>Description</h2>
 <p>This macro is defined as follows:
 </p>
 <pre class="programlisting">
@@ -77,9 +77,9 @@
 int main(void)
 {
 #ifdef <a class="link" href="BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a>
- assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"), L"foo") == 0);
+ assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"), L"foo") == 0);
 #else
- assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"), "foo") == 0);
+ assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"), "foo") == 0);
 #endif
         return 0;
 }
@@ -90,7 +90,7 @@
 
 int main(void)
 {
- assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"), <a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo)) == 0);
+ assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"), <a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo)) == 0);
         return 0;
 }
 </pre>

Modified: sandbox/mirror/doc/html/BOOST_CTS_LIT_LENGTH.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_CTS_LIT_LENGTH.html (original)
+++ sandbox/mirror/doc/html/BOOST_CTS_LIT_LENGTH.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -33,7 +33,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_CTS_LIT_LENGTH(STRING_LITERAL)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2646237"></a><h2>Description</h2>
+<a name="id2615449"></a><h2>Description</h2>
 <p>This macro is defined as follows:
 </p>
 <pre class="programlisting">
@@ -63,7 +63,7 @@
 {
         assert(
                 <a class="link" href="BOOST_CTS_LIT_LENGTH.html" title="Macro BOOST_CTS_LIT_LENGTH">BOOST_CTS_LIT_LENGTH</a>("foo") ==
- ::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrlen_id2406930">bstrlen</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"))
+ ::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrlen_id2548529">bstrlen</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"))
         );
         return 0;
 }
@@ -76,8 +76,8 @@
 {
         using namespace ::boost::cts;
         <a class="link" href="boost/cts/bchar.html" title="Type definition bchar">bchar</a> foo[<a class="link" href="BOOST_CTS_LIT_LENGTH.html" title="Macro BOOST_CTS_LIT_LENGTH">BOOST_CTS_LIT_LENGTH</a>("foo")+1];
- <a class="link" href="char_type_switch/reference.html#boost.cts.bstrcpy_id2376472">bstrcpy</a>(foo, <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"));
- assert(<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a>(foo, <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo")) == 0);
+ <a class="link" href="char_type_switch/reference.html#boost.cts.bstrcpy_id2538908">bstrcpy</a>(foo, <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"));
+ assert(<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a>(foo, <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo")) == 0);
         return 0;
 }
 </pre>

Modified: sandbox/mirror/doc/html/BOOST_CTS_STRINGIZE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_CTS_STRINGIZE.html (original)
+++ sandbox/mirror/doc/html/BOOST_CTS_STRINGIZE.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_CTS_STRINGIZE(ARG)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2646432"></a><h2>Description</h2>
+<a name="id2615645"></a><h2>Description</h2>
 <p>This macro is defined as follows:
 </p>
 <pre class="programlisting">
@@ -77,9 +77,9 @@
 int main(void)
 {
 #ifdef <a class="link" href="BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a>
- assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a>(<a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo), L"foo") == 0);
+ assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a>(<a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo), L"foo") == 0);
 #else
- assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a>(<a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo), "foo") == 0);
+ assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a>(<a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo), "foo") == 0);
 #endif
         return 0;
 }
@@ -90,7 +90,7 @@
 
 int main(void)
 {
- assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a>(<a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo), <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo")) == 0);
+ assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a>(<a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo), <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo")) == 0);
         return 0;
 }
 </pre>

Modified: sandbox/mirror/doc/html/BOOST_CTS_USE_WIDE_CHARS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_CTS_USE_WIDE_CHARS.html (original)
+++ sandbox/mirror/doc/html/BOOST_CTS_USE_WIDE_CHARS.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -33,7 +33,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_CTS_USE_WIDE_CHARS</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2645732"></a><h2>Description</h2>
+<a name="id2614944"></a><h2>Description</h2>
 <p>If the <code class="computeroutput"><a class="link" href="BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a></code> symbol is defined
                         then the type <code class="computeroutput"><a class="link" href="boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> is defined as <code class="computeroutput">wchar_t</code>,
                         otherwise it's defined as <code class="computeroutput">char</code>:

Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_CLASS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_CLASS.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_CLASS.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -7,7 +7,7 @@
 <link rel="start" href="index.html" title="The Mirror library documentation">
 <link rel="up" href="mirror/reference.html#header.boost.mirror.meta_class.hpp" title="Header &lt;boost/mirror/meta_class.hpp&gt;">
 <link rel="prev" href="boost/mirror/meta_class.html" title="Class template meta_class">
-<link rel="next" href="boost/mirror/meta_attribute.html" title="Class template meta_attribute">
+<link rel="next" href="boost/mirror/meta_class_attribute.html" title="Class template meta_class_attribute">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="boost/mirror/meta_class.html"><img src="../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="mirror/reference.html#header.boost.mirror.meta_class.hpp"><img src="../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost/mirror/meta_attribute.html"><img src="../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="boost/mirror/meta_class.html"><img src="../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="mirror/reference.html#header.boost.mirror.meta_class.hpp"><img src="../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost/mirror/meta_class_attribute.html"><img src="../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="BOOST_MIRRORED_CLASS"></a><div class="titlepage"></div>
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_CLASS(CLASS)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2641464"></a><h2>Description</h2>
+<a name="id2609689"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_CLASS.html" title="Macro BOOST_MIRRORED_CLASS">BOOST_MIRRORED_CLASS</a></code> macro reflects a class
                 previously registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library.
                 The argument of this macro is a class name.
@@ -72,7 +72,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="boost/mirror/meta_class.html"><img src="../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="mirror/reference.html#header.boost.mirror.meta_class.hpp"><img src="../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost/mirror/meta_attribute.html"><img src="../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="boost/mirror/meta_class.html"><img src="../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="mirror/reference.html#header.boost.mirror.meta_class.hpp"><img src="../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost/mirror/meta_class_attribute.html"><img src="../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_GLOBAL_SCOPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_GLOBAL_SCOPE.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_GLOBAL_SCOPE.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -35,7 +35,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_GLOBAL_SCOPE()</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2635814"></a><h2>Description</h2>
+<a name="id2604033"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_GLOBAL_SCOPE.html" title="Macro BOOST_MIRRORED_GLOBAL_SCOPE">BOOST_MIRRORED_GLOBAL_SCOPE</a>()</code> macro can be used to get
                 the meta-data about the global scope, which is registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library by default.
                 </p>

Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_NAMESPACE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_NAMESPACE.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_NAMESPACE.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -35,7 +35,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_NAMESPACE(FULL_NAMESPACE_NAME)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2635376"></a><h2>Description</h2>
+<a name="id2603596"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code> macro reflects a namespace
                 previously registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library by the means of
                 the <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_NAMESPACE.html" title="Macro BOOST_MIRROR_REG_NAMESPACE">BOOST_MIRROR_REG_NAMESPACE</a></code>.
@@ -98,7 +98,7 @@
 {
         using namespace ::std;
         using namespace ::boost;
- cts::<a class="link" href="boost/cts/bostream.html" title="Type definition bostream">bostream</a>&amp; bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2468254">bcout</a>();
+ cts::<a class="link" href="boost/cts/bostream.html" title="Type definition bostream">bostream</a>&amp; bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a>();
         bcout &lt;&lt;
                 <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("This is the global scope") &lt;&lt;
         endl &lt;&lt;
@@ -113,7 +113,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
- cts::bostream&amp; bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2468254">bcout</a>();
+ cts::bostream&amp; bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a>();
 
         bcout &lt;&lt;
                 <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("Namespace '") &lt;&lt;

Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -38,7 +38,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPE(TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2639822"></a><h2>Description</h2>
+<a name="id2608047"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a></code> macro reflects a type
                 previously registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library or a type derived
                 from a registered type. The argument of this macro is a type.

Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -38,7 +38,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPEDEF(FULL_NAMESPACE_NAME, TYPEDEF)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2640176"></a><h2>Description</h2>
+<a name="id2608401"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPEDEF.html" title="Macro BOOST_MIRRORED_TYPEDEF">BOOST_MIRRORED_TYPEDEF</a></code> macro reflects a type
                 that is registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library as a <code class="computeroutput">typedef</code>-ined
                 type.

Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -39,7 +39,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE(TYPEDEF)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2640798"></a><h2>Description</h2>
+<a name="id2609023"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html" title="Macro BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE">BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE</a></code> macro reflects a type
                 that is registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library as a global-scope <code class="computeroutput">typedef</code>-ined
                 type.

Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GS.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GS.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -39,7 +39,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPEDEF_GS(TYPEDEF)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2640600"></a><h2>Description</h2>
+<a name="id2608825"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPEDEF_GS.html" title="Macro BOOST_MIRRORED_TYPEDEF_GS">BOOST_MIRRORED_TYPEDEF_GS</a></code> macro reflects a type
                 that is registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library as a global-scope <code class="computeroutput">typedef</code>-ined
                 type.

Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEOF.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEOF.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEOF.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -32,7 +32,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPEOF(EXPRESSION)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2640883"></a><h2>Description</h2>
+<a name="id2609108"></a><h2>Description</h2>
                 This macro is basically just a shorter form of
 <pre class="programlisting">
         <a class="link" href="BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(BOOST_TYPEOF(EXPRESSION))

Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE_NS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE_NS.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE_NS.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -35,7 +35,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPE_NS(FULL_NAMESPACE_NAME, TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2639980"></a><h2>Description</h2>
+<a name="id2608205"></a><h2>Description</h2>
 <p><code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPE_NS.html" title="Macro BOOST_MIRRORED_TYPE_NS">BOOST_MIRRORED_TYPE_NS</a>(NAMESPACE, TYPE)</code>
                 is equivalent to <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(NAMESPACE :: TYPE)</code>.
                 </p>

Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_NAMESPACE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_NAMESPACE.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_NAMESPACE.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_NAMESPACE(PP_SEQ)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2634773"></a><h2>Description</h2>
+<a name="id2602994"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_NAMESPACE.html" title="Macro BOOST_MIRROR_REG_NAMESPACE">BOOST_MIRROR_REG_NAMESPACE</a></code> macro registers a namespace with
                 the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library.
                 </p>
@@ -165,7 +165,7 @@
 {
         using namespace ::std;
         using namespace ::boost;
- cts::<a class="link" href="boost/cts/bostream.html" title="Type definition bostream">bostream</a>&amp; bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2468254">bcout</a>();
+ cts::<a class="link" href="boost/cts/bostream.html" title="Type definition bostream">bostream</a>&amp; bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a>();
         bcout &lt;&lt;
                 <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("This is the global scope") &lt;&lt;
         endl &lt;&lt;
@@ -180,7 +180,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
- cts::bostream&amp; bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2468254">bcout</a>();
+ cts::bostream&amp; bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a>();
 
         bcout &lt;&lt;
                 <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("Namespace '") &lt;&lt;

Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -33,7 +33,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE(NAMESPACE, TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2637660"></a><h2>Description</h2>
+<a name="id2605887"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE.html" title="Macro BOOST_MIRROR_REG_TYPE">BOOST_MIRROR_REG_TYPE</a></code> macro registers a type with
                 the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library.
                 </p>

Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -33,7 +33,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPEDEF(NAMESPACE, TYPEDEF)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2638404"></a><h2>Description</h2>
+<a name="id2606630"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPEDEF.html" title="Macro BOOST_MIRROR_REG_TYPEDEF">BOOST_MIRROR_REG_TYPEDEF</a></code> macro registers a <code class="computeroutput">typedef</code>
                 defined in a namespace with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library.
                 </p>

Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE(TYPEDEF)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2639262"></a><h2>Description</h2>
+<a name="id2607487"></a><h2>Description</h2>
 <p>See the documentation for the <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPEDEF_GS.html" title="Macro BOOST_MIRROR_REG_TYPEDEF_GS">BOOST_MIRROR_REG_TYPEDEF_GS</a></code>
                 macro for more details.
                 </p>

Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GS.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GS.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -35,7 +35,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPEDEF_GS(TYPEDEF)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2638954"></a><h2>Description</h2>
+<a name="id2607179"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPEDEF_GS.html" title="Macro BOOST_MIRROR_REG_TYPEDEF_GS">BOOST_MIRROR_REG_TYPEDEF_GS</a></code> macro registers a global scope <code class="computeroutput">typedef</code> with
                 the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library.
                 </p>

Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMB.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMB.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMB.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE_EMB(WRAPPER, TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2639319"></a><h2>Description</h2>
+<a name="id2607545"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE_EMB.html" title="Macro BOOST_MIRROR_REG_TYPE_EMB">BOOST_MIRROR_REG_TYPE_EMB</a></code> macro registers a type nested inside of a class with
                 the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library.
                 </p>

Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMBEDDED.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMBEDDED.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMBEDDED.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE_EMBEDDED(WRAPPER, TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2639725"></a><h2>Description</h2>
+<a name="id2607949"></a><h2>Description</h2>
 <p>This macro is equivalent to the <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE_EMB.html" title="Macro BOOST_MIRROR_REG_TYPE_EMB">BOOST_MIRROR_REG_TYPE_EMB</a></code> macro.
                 See the documentation of <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE_EMB.html" title="Macro BOOST_MIRROR_REG_TYPE_EMB">BOOST_MIRROR_REG_TYPE_EMB</a></code> for more details.
                 </p>

Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE(TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2638338"></a><h2>Description</h2>
+<a name="id2606563"></a><h2>Description</h2>
 <p>See the documentation for the <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE_GS.html" title="Macro BOOST_MIRROR_REG_TYPE_GS">BOOST_MIRROR_REG_TYPE_GS</a></code>
                 macro for more details.
                 </p>

Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GS.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GS.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE_GS(TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2638006"></a><h2>Description</h2>
+<a name="id2606232"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE_GS.html" title="Macro BOOST_MIRROR_REG_TYPE_GS">BOOST_MIRROR_REG_TYPE_GS</a></code> macro registers a global scope type with
                 the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library.
                 </p>

Modified: sandbox/mirror/doc/html/boost/cts/bchar.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/bchar.html (original)
+++ sandbox/mirror/doc/html/boost/cts/bchar.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -35,7 +35,7 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
 <span class="bold"><strong>typedef</strong></span> <span class="bold"><strong>char</strong></span>-or-<span class="bold"><strong>wchar_t</strong></span> bchar;</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2645959"></a><h2>Description</h2>
+<a name="id2615171"></a><h2>Description</h2>
 <p>The <code class="computeroutput">bchar</code> type is defined as follows:
 </p>
 <pre class="programlisting">

Modified: sandbox/mirror/doc/html/boost/cts/bchar_traits.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/bchar_traits.html (original)
+++ sandbox/mirror/doc/html/boost/cts/bchar_traits.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,7 +34,7 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
 <span class="bold"><strong>typedef</strong></span> ::std::char_traits&lt;<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>&gt; bchar_traits;</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2646762"></a><h2>Description</h2>
+<a name="id2615974"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a></code> type is defined as abbreviation for
                 <code class="computeroutput">::std::char_traits&lt;<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>&gt;</code>.
                 </p>

Modified: sandbox/mirror/doc/html/boost/cts/biostream.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/biostream.html (original)
+++ sandbox/mirror/doc/html/boost/cts/biostream.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -33,13 +33,13 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
 <span class="bold"><strong>typedef</strong></span> ::std::basic_iostream&lt;<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>&gt; biostream;</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2647863"></a><h2>Description</h2>
+<a name="id2617074"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="biostream.html" title="Type definition biostream">biostream</a></code> type is defined as an abbreviation for
                 <code class="computeroutput">::std::basic_iostream&lt;<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>&gt;</code>.
                 </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="id2647903"></a>Examples</h6></div></div></div>
+<a name="id2617114"></a>Examples</h6></div></div></div>
 <pre class="programlisting">
 #include &lt;assert.h&gt;
 #include &lt;boost/char_type_switch/string.hpp&gt;
@@ -49,8 +49,8 @@
 {
         using namespace ::std;
         using namespace ::boost::cts;
- <a class="link" href="bistream.html" title="Type definition bistream">bistream</a>&amp; in = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcin_id2421509">bcin</a>();
- <a class="link" href="bostream.html" title="Type definition bostream">bostream</a>&amp; out = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2468254">bcout</a>();
+ <a class="link" href="bistream.html" title="Type definition bistream">bistream</a>&amp; in = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcin_id2344130">bcin</a>();
+ <a class="link" href="bostream.html" title="Type definition bostream">bostream</a>&amp; out = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a>();
 
         bstring str;
         out &lt;&lt; <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("Enter a string: ") &lt;&lt; flush;

Modified: sandbox/mirror/doc/html/boost/cts/bistream.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/bistream.html (original)
+++ sandbox/mirror/doc/html/boost/cts/bistream.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,13 +34,13 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
 <span class="bold"><strong>typedef</strong></span> ::std::basic_istream&lt;<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>&gt; bistream;</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2647447"></a><h2>Description</h2>
+<a name="id2616657"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="bistream.html" title="Type definition bistream">bistream</a></code> type is defined as an abbreviation for
                 <code class="computeroutput">::std::basic_istream&lt;<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>&gt;</code>.
                 </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="id2647487"></a>Examples</h6></div></div></div>
+<a name="id2616698"></a>Examples</h6></div></div></div>
 <pre class="programlisting">
 #include &lt;assert.h&gt;
 #include &lt;boost/char_type_switch/string.hpp&gt;
@@ -50,8 +50,8 @@
 {
         using namespace ::std;
         using namespace ::boost::cts;
- <a class="link" href="bistream.html" title="Type definition bistream">bistream</a>&amp; in = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcin_id2421509">bcin</a>();
- <a class="link" href="bostream.html" title="Type definition bostream">bostream</a>&amp; out = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2468254">bcout</a>();
+ <a class="link" href="bistream.html" title="Type definition bistream">bistream</a>&amp; in = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcin_id2344130">bcin</a>();
+ <a class="link" href="bostream.html" title="Type definition bostream">bostream</a>&amp; out = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a>();
 
         bstring str;
         out &lt;&lt; <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("Enter a string: ") &lt;&lt; flush;

Modified: sandbox/mirror/doc/html/boost/cts/bostream.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/bostream.html (original)
+++ sandbox/mirror/doc/html/boost/cts/bostream.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,13 +34,13 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
 <span class="bold"><strong>typedef</strong></span> ::std::basic_ostream&lt;<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>&gt; bostream;</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2647655"></a><h2>Description</h2>
+<a name="id2616865"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="bostream.html" title="Type definition bostream">bostream</a></code> type is defined as an abbreviation for
                 <code class="computeroutput">::std::basic_ostream&lt;<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>&gt;</code>.
                 </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="id2647695"></a>Examples</h6></div></div></div>
+<a name="id2616906"></a>Examples</h6></div></div></div>
 <pre class="programlisting">
 #include &lt;assert.h&gt;
 #include &lt;boost/char_type_switch/string.hpp&gt;
@@ -50,8 +50,8 @@
 {
         using namespace ::std;
         using namespace ::boost::cts;
- <a class="link" href="bistream.html" title="Type definition bistream">bistream</a>&amp; in = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcin_id2421509">bcin</a>();
- <a class="link" href="bostream.html" title="Type definition bostream">bostream</a>&amp; out = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2468254">bcout</a>();
+ <a class="link" href="bistream.html" title="Type definition bistream">bistream</a>&amp; in = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcin_id2344130">bcin</a>();
+ <a class="link" href="bostream.html" title="Type definition bostream">bostream</a>&amp; out = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a>();
 
         bstring str;
         out &lt;&lt; <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("Enter a string: ") &lt;&lt; flush;

Modified: sandbox/mirror/doc/html/boost/cts/bstring.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/bstring.html (original)
+++ sandbox/mirror/doc/html/boost/cts/bstring.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,7 +34,7 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
 <span class="bold"><strong>typedef</strong></span> ::std::basic_string&lt;<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>&gt; bstring;</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2646894"></a><h2>Description</h2>
+<a name="id2616107"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="bstring.html" title="Type definition bstring">bstring</a></code> type is defined as an abbreviation for
                 <code class="computeroutput">::std::basic_string&lt;<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>&gt;</code>.
                 </p>

Deleted: sandbox/mirror/doc/html/boost/mirror/meta_attribute.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_attribute.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
+++ (empty file)
@@ -1,288 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template meta_attribute</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="The Mirror library documentation">
-<link rel="up" href="../../mirror/reference.html#header.boost.mirror.meta_attributes.hpp" title="Header &lt;boost/mirror/meta_attributes.hpp&gt;">
-<link rel="prev" href="../../BOOST_MIRRORED_CLASS.html" title="Macro BOOST_MIRRORED_CLASS">
-<link rel="next" href="meta_class_attributes.html" title="Class template meta_class_attributes">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../../BOOST_MIRRORED_CLASS.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.meta_attributes.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="meta_class_attributes.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.mirror.meta_attribute"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template meta_attribute</span></h2>
-<p>boost::mirror::meta_attribute &#8212; This class template reflects one individual attribute of a class. The
- <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code> template should not be instantiated
- directly, meta-attributes are obtained only as results of introspection operations on
- <code class="computeroutput"><a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a></code> and
- <code class="computeroutput"><a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a></code>.
- </p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> unspecified&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="meta_attribute.html#id2564242-bbtypes">types</a></em></span>
- <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_attribute.html#boost.mirror.meta_attribute.scope">scope</a>;
- <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt;-or-<a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_attribute.html#boost.mirror.meta_attribute.container">container</a>;
- <span class="bold"><strong>typedef</strong></span> container <a class="link" href="meta_attribute.html#boost.mirror.meta_attribute.meta_attributes">meta_attributes</a>;
- <span class="bold"><strong>typedef</strong></span> mpl::int_&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_attribute.html#boost.mirror.meta_attribute.position">position</a>;
- <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="meta_attribute.html#boost.mirror.meta_attribute.type">type</a>;
- <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="meta_attribute.html#boost.mirror.meta_attribute.typedef_or_type">typedef_or_type</a>;
- <span class="bold"><strong>typedef</strong></span> meta_class_attribute_traits&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_attribute.html#boost.mirror.meta_attribute.traits">traits</a>;
- <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a class="link" href="meta_attribute.html#id2406735-bb">base_name</a>();
- <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a class="link" href="meta_attribute.html#id2495658-bb">full_name</a>();
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT&gt;
- <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string&lt;CharT&gt;&amp;</span>
- <a class="link" href="meta_attribute.html#id2543922-bb">get_name</a>(::boost::mpl::bool_&lt;FullName&gt;, ::std::char_traits&lt;CharT&gt;);
- <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="meta_attribute.html#id2533812-bb">get</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&amp;);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> DestType&gt;
- <span class="type">DestType&amp;</span> <a class="link" href="meta_attribute.html#id2507764-bb">query</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&amp;, DestType&amp;);
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="meta_attribute.html#id2550057-bb">set</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&amp;, type);
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id2642105"></a><h2>Description</h2>
-<p>This template allows to get both compile-time and run-time meta-data about
- the member attribute of a class. At compile time the scope, position, type and several other traits of the attribute
- can be inspected. At run-time one can get the base and full name of the attribute and to generically get and set its value.
- </p>
-<div class="section" lang="en">
-<div class="titlepage"></div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="mirror.meta_attribute.reference.sample01"></a>Example - Basic usage</h6></div></div></div>
-<p>
- </p>
-</div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id2642140"></a><h3>
-<a name="id2564242-bbtypes"></a><code class="computeroutput">meta_attribute</code> public types</h3>
-<div class="orderedlist"><ol type="1">
-<li>
-<p>
-<span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a name="boost.mirror.meta_attribute.scope"></a>scope;</p>
-<p>Meta-class describing the scope where the reflected attribute is defined.
- The scope is the class that the reflected attribute belongs to.
- </p>
-</li>
-<li>
-<p>
-<span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt;-or-<a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a name="boost.mirror.meta_attribute.container"></a>container;</p>
-<p>The meta-attribute-sequence containing this <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code>.
- It is the container that the <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code> belongs to.
- It can be either the "own" class' attributes -
- <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt;::attributes</code>
- or all class attributes including the inherited ones -
- <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt;::all_attributes</code>.
- </p>
-</li>
-<li>
-<p>
-<span class="bold"><strong>typedef</strong></span> container <a name="boost.mirror.meta_attribute.meta_attributes"></a>meta_attributes;</p>
-<p>This is an alias for the <code class="computeroutput">container</code> typedef.
- </p>
-</li>
-<li>
-<p>
-<span class="bold"><strong>typedef</strong></span> mpl::int_&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a name="boost.mirror.meta_attribute.position"></a>position;</p>
-<p>This member is an instantiation of the <code class="computeroutput">::boost::mpl::int_&lt;N&gt;</code>
- template and specifies the position of the <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code>
- in the <code class="computeroutput">container</code>.
- </p>
-</li>
-<li>
-<p>
-<span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.mirror.meta_attribute.type"></a>type;</p>
-<p>The type of the reflected attribute.
- </p>
-</li>
-<li>
-<p>
-<span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.mirror.meta_attribute.typedef_or_type"></a>typedef_or_type;</p>
-<p>This type should be used to reflect the type of the attribute (to get a <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>
- or a <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a></code> that reflects the type of the attribute), because it allows
- to distinguish <code class="computeroutput">typedef</code>ined types.
- </p>
-</li>
-<li>
-<p>
-<span class="bold"><strong>typedef</strong></span> meta_class_attribute_traits&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a name="boost.mirror.meta_attribute.traits"></a>traits;</p>
-<p>Additional traits of the attribute, like storage class specifiers, etc.
- See the documentation of <code class="computeroutput">meta_class_attribute_traits</code> for more details.
- </p>
-</li>
-</ol></div>
-</div>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a name="id2406735-bb"></a>base_name();</pre>
-<p>This static member function returns the base name of the
- attribute reflected by the <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code>.
- When a full attribute name
- <span class="bold"><strong>including</strong></span> the class name, that the
- reflected member attribute belongs to,
- is needed use the <code class="computeroutput"><a class="link" href="meta_attribute.html#id2495658-bb">full_name</a></code> member function
- instead.</p>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a name="id2495658-bb"></a>full_name();</pre>
-<p>This static member function returns the full name of the
- attribute reflected by the <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code>
- including the full name of the class that the attribute belongs to. For example:
-</p>
-<pre class="programlisting">
-typedef ::std::pair&lt;int, double&gt; pair;
-// reflect the class
-typedef <code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_CLASS.html" title="Macro BOOST_MIRRORED_CLASS">BOOST_MIRRORED_CLASS</a></code>(pair) meta_pair;
-// get the attributes container
-typedef meta_pair::attributes meta_pair_attribs;
-// get the individual meta-attributes
-typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;0&gt; &gt;::type meta_pair_first;
-// get the full name
-meta_pair_first::full_name();
-</pre>
-<p>
- returns <code class="computeroutput">"::std::pair&lt; int, double &gt;::first"</code>. When the base attribute name
- <span class="bold"><strong>without</strong></span> the full class name
- is needed use the <code class="computeroutput"><a class="link" href="meta_attribute.html#id2406735-bb">base_name</a></code> member function
- instead.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term">Notes:</span></p></td>
-<td><p>The first call to this function can be expensive
- for attributes of deeply nested classes, because the name needs to be properly composed from
- the class name and namespace names, which may
- lead to multiple string concatenations. Subsequent calls to this member function
- for a concrete specialization of <a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a>
- are usually much faster.
- </p></td>
-</tr></tbody>
-</table></div>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT&gt;
- <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string&lt;CharT&gt;&amp;</span>
- <a name="id2543922-bb"></a>get_name(::boost::mpl::bool_&lt;FullName&gt; full, ::std::char_traits&lt;CharT&gt; cht);</pre>
-<p>This static member template function returns either the base name
- or the full name of the attribute reflected by this
- <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code>,
- depending on the value of the template argument <code class="computeroutput">FullName</code>.
- Furthermore it allows to choose whether the return value type is
- <code class="computeroutput">::std::string</code> or <code class="computeroutput">::std::wstring</code> based
- on the type of the second argument.
- </p>
-<pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2533812-bb"></a>get(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&amp; instance);</pre>
-<p>This static member function returns the value of the attribute reflected
- by this <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code> when given
- an <code class="computeroutput">instance</code> of the class that the attribute belongs to:
-</p>
-<pre class="programlisting">
-typedef ::std::pair&lt;int, double&gt; pair;
-// reflect the class
-typedef <code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_CLASS.html" title="Macro BOOST_MIRRORED_CLASS">BOOST_MIRRORED_CLASS</a></code>(pair) meta_pair;
-// get the attributes container
-typedef meta_pair::attributes meta_pair_attribs;
-// get the individual meta-attributes
-typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;0&gt; &gt;::type meta_pair_first;
-typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;1&gt; &gt;::type meta_pair_second;
-//
-// create an instance of the pair
-pair p(10, 20.0);
-assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2533812-bb">get</a></code>(p) == p.first);
-assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2533812-bb">get</a></code>(p) == p.second);
-</pre>
-<p>
- </p>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> DestType&gt;
- <span class="type">DestType&amp;</span> <a name="id2507764-bb"></a>query(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&amp; instance,
- DestType&amp; destination);</pre>
-<p>This static member function assigns the value of the attribute reflected
- by this <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code> (when given
- an <code class="computeroutput">instance</code> of the class that the attribute belongs to),
- to <code class="computeroutput">destination</code> and returns <code class="computeroutput">destination</code>. The <code class="computeroutput">DestType</code>
- type must be assignable with the <code class="computeroutput">type</code> of the attribute:
-</p>
-<pre class="programlisting">
-typedef ::std::pair&lt;int, float&gt; pair;
-// reflect the class
-typedef <code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_CLASS.html" title="Macro BOOST_MIRRORED_CLASS">BOOST_MIRRORED_CLASS</a></code>(pair) meta_pair;
-// get the attributes container
-typedef meta_pair::attributes meta_pair_attribs;
-// get the individual meta-attributes
-typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;0&gt; &gt;::type meta_pair_first;
-typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;1&gt; &gt;::type meta_pair_second;
-//
-// create an instance of the pair
-pair p(10, 20.0f);
-// and two other variables
-long first = 30;
-float second = 40.0f;
-// query the values and check them
-assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2507764-bb">query</a></code>(p, first) == 10);
-assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2507764-bb">query</a></code>(p, second) == 20.0f);
-// and double check the variables
-assert(first == p.first);
-assert(second == p.second);
-</pre>
-<p>
- </p>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2550057-bb"></a>set(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&amp; instance, type value);</pre>
-<p>This static member function assigns the given value to the attribute reflected
- by this <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code> when given
- an <code class="computeroutput">instance</code> of the class that the attribute belongs to:
-</p>
-<pre class="programlisting">
-typedef ::std::pair&lt;int, float&gt; pair;
-// reflect the class
-typedef <code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_CLASS.html" title="Macro BOOST_MIRRORED_CLASS">BOOST_MIRRORED_CLASS</a></code>(pair) meta_pair;
-// get the attributes container
-typedef meta_pair::attributes meta_pair_attribs;
-// get the individual meta-attributes
-typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;0&gt; &gt;::type meta_pair_first;
-typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;1&gt; &gt;::type meta_pair_second;
-//
-// create an instance of the pair
-pair p(10, 20.0f);
-pair r(30, 40.0f);
-//
-assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2533812-bb">get</a></code>(p) != meta_pair_first::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2533812-bb">get</a></code>(r));
-assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2533812-bb">get</a></code>(p) != meta_pair_second::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2533812-bb">get</a></code>(r));
-// set new values
-meta_pair_first::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2550057-bb">set</a></code>(p, meta_pair_first::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2533812-bb">get</a></code>(r));
-meta_pair_second::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2550057-bb">set</a></code>(p, meta_pair_second::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2533812-bb">get</a></code>(r));
-// and check the values
-assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2533812-bb">get</a></code>(p) == meta_pair_first::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2533812-bb">get</a></code>(r));
-assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2533812-bb">get</a></code>(p) == meta_pair_second::<code class="computeroutput"><a class="link" href="meta_attribute.html#id2533812-bb">get</a></code>(r));
-// and double check them
-assert(p.first == r.first);
-assert(p.second == r.second);
-</pre>
-<p>
- </p>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2008 Matú&#353; Chochlík<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../../BOOST_MIRRORED_CLASS.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.meta_attributes.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="meta_class_attributes.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Modified: sandbox/mirror/doc/html/boost/mirror/meta_class.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_class.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_class.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -42,16 +42,16 @@
 <span class="bold"><strong>class</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a> : <span class="bold"><strong>public</strong></span> <a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a>&lt;Class&gt;
 {
 <span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="meta_class.html#id2565495-bbtypes">types</a></em></span>
+ <span class="emphasis"><em>// <a class="link" href="meta_class.html#id2522778-bbtypes">types</a></em></span>
   <span class="bold"><strong>typedef</strong></span> meta_base_classes&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_class.html#boost.mirror.meta_class.base_classes">base_classes</a>;
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_class.html#boost.mirror.meta_class.attributes">attributes</a>;
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_class.html#boost.mirror.meta_class.all_attributes">all_attributes</a>;
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2641256"></a><h2>Description</h2>
+<a name="id2609481"></a><h2>Description</h2>
 <div class="refsect2" lang="en">
-<a name="id2641260"></a><h3>
-<a name="id2565495-bbtypes"></a><code class="computeroutput">meta_class</code> public types</h3>
+<a name="id2609484"></a><h3>
+<a name="id2522778-bbtypes"></a><code class="computeroutput">meta_class</code> public types</h3>
 <div class="orderedlist"><ol type="1">
 <li>
 <p>
@@ -63,7 +63,7 @@
 <li>
 <p>
 <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a name="boost.mirror.meta_class.attributes"></a>attributes;</p>
-<p>The container of <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code>s reflecting the
+<p>The container of <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>s reflecting the
                         "own" attributes of a class. These are the attributes that are defined directly
                         in the class reflected by this <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a></code>, not including
                         the attributes inherited from the base classes.
@@ -72,7 +72,7 @@
 <li>
 <p>
 <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a name="boost.mirror.meta_class.all_attributes"></a>all_attributes;</p>
-<p>The container of <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code>s reflecting
+<p>The container of <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>s reflecting
                         all attributes of a class including the ones inherited from base classes.
                         </p>
 </li>

Modified: sandbox/mirror/doc/html/boost/mirror/meta_class_all_attributes.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_class_all_attributes.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_class_all_attributes.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -26,7 +26,7 @@
 <a name="boost.mirror.meta_class_all_attributes"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template meta_class_all_attributes</span></h2>
-<p>boost::mirror::meta_class_all_attributes &#8212; This class template contains the <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code>s
+<p>boost::mirror::meta_class_all_attributes &#8212; This class template contains the <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>s
                 reflecting the individual attributes of a class. More precisely, all attributes including the inherited ones.
                 To inspect only the "own" attributes of a class, not including the inherited ones, use the specializations
                 of the <code class="computeroutput"><a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a></code> template.
@@ -34,7 +34,7 @@
                 The <code class="computeroutput"><a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a></code> template should not be instantiated
                 directly, <code class="computeroutput"><a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a></code> are obtained only as result
                        of introspection operations on <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a></code>.
- The individual <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code>s and
+ The individual <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>s and
                 iterators pointing to them should be obtained as results
                 of the meta-object-sequence algoritms. See the examples for more details on usage of
                 <code class="computeroutput"><a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a></code>.
@@ -45,7 +45,7 @@
 <span class="bold"><strong>class</strong></span> <a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a> {
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2643545"></a><h2>Description</h2>
+<a name="id2611784"></a><h2>Description</h2>
 <p>
                 </p>
 <div class="section" lang="en">

Added: sandbox/mirror/doc/html/boost/mirror/meta_class_attribute.html
==============================================================================
--- (empty file)
+++ sandbox/mirror/doc/html/boost/mirror/meta_class_attribute.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -0,0 +1,288 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template meta_class_attribute</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="The Mirror library documentation">
+<link rel="up" href="../../mirror/reference.html#header.boost.mirror.meta_attributes.hpp" title="Header &lt;boost/mirror/meta_attributes.hpp&gt;">
+<link rel="prev" href="../../BOOST_MIRRORED_CLASS.html" title="Macro BOOST_MIRRORED_CLASS">
+<link rel="next" href="meta_class_attributes.html" title="Class template meta_class_attributes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../BOOST_MIRRORED_CLASS.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.meta_attributes.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="meta_class_attributes.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.mirror.meta_class_attribute"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template meta_class_attribute</span></h2>
+<p>boost::mirror::meta_class_attribute &#8212; This class template reflects one individual attribute of a class. The
+ <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code> template should not be instantiated
+ directly, meta-attributes are obtained only as results of introspection operations on
+ <code class="computeroutput"><a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a></code> and
+ <code class="computeroutput"><a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a></code>.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> unspecified&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// <a class="link" href="meta_class_attribute.html#id2405236-bbtypes">types</a></em></span>
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_class_attribute.html#boost.mirror.meta_class_attribute.scope">scope</a>;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt;-or-<a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_class_attribute.html#boost.mirror.meta_class_attribute.container">container</a>;
+ <span class="bold"><strong>typedef</strong></span> container <a class="link" href="meta_class_attribute.html#boost.mirror.meta_class_attribute.meta_attributes">meta_attributes</a>;
+ <span class="bold"><strong>typedef</strong></span> mpl::int_&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_class_attribute.html#boost.mirror.meta_class_attribute.position">position</a>;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="meta_class_attribute.html#boost.mirror.meta_class_attribute.type">type</a>;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="meta_class_attribute.html#boost.mirror.meta_class_attribute.typedef_or_type">typedef_or_type</a>;
+ <span class="bold"><strong>typedef</strong></span> meta_attribute_traits&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_class_attribute.html#boost.mirror.meta_class_attribute.traits">traits</a>;
+ <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a class="link" href="meta_class_attribute.html#id2453716-bb">base_name</a>();
+ <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a class="link" href="meta_class_attribute.html#id2389784-bb">full_name</a>();
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT&gt;
+ <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string&lt;CharT&gt;&amp;</span>
+ <a class="link" href="meta_class_attribute.html#id2515520-bb">get_name</a>(::boost::mpl::bool_&lt;FullName&gt;, ::std::char_traits&lt;CharT&gt;);
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="meta_class_attribute.html#id2525874-bb">get</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&amp;);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> DestType&gt;
+ <span class="type">DestType&amp;</span> <a class="link" href="meta_class_attribute.html#id2555698-bb">query</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&amp;, DestType&amp;);
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="meta_class_attribute.html#id2439694-bb">set</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&amp;, type);
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2610333"></a><h2>Description</h2>
+<p>This template allows to get both compile-time and run-time meta-data about
+ the member attribute of a class. At compile time the scope, position, type and several other traits of the attribute
+ can be inspected. At run-time one can get the base and full name of the attribute and to generically get and set its value.
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="mirror.meta_class_attribute.reference.sample01"></a>Example - Basic usage</h6></div></div></div>
+<p>
+ </p>
+</div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2610370"></a><h3>
+<a name="id2405236-bbtypes"></a><code class="computeroutput">meta_class_attribute</code> public types</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<p>
+<span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a name="boost.mirror.meta_class_attribute.scope"></a>scope;</p>
+<p>Meta-class describing the scope where the reflected attribute is defined.
+ The scope is the class that the reflected attribute belongs to.
+ </p>
+</li>
+<li>
+<p>
+<span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt;-or-<a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a name="boost.mirror.meta_class_attribute.container"></a>container;</p>
+<p>The meta-attribute-sequence containing this <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>.
+ It is the container that the <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code> belongs to.
+ It can be either the "own" class' attributes -
+ <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt;::attributes</code>
+ or all class attributes including the inherited ones -
+ <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt;::all_attributes</code>.
+ </p>
+</li>
+<li>
+<p>
+<span class="bold"><strong>typedef</strong></span> container <a name="boost.mirror.meta_class_attribute.meta_attributes"></a>meta_attributes;</p>
+<p>This is an alias for the <code class="computeroutput">container</code> typedef.
+ </p>
+</li>
+<li>
+<p>
+<span class="bold"><strong>typedef</strong></span> mpl::int_&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a name="boost.mirror.meta_class_attribute.position"></a>position;</p>
+<p>This member is an instantiation of the <code class="computeroutput">::boost::mpl::int_&lt;N&gt;</code>
+ template and specifies the position of the <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>
+ in the <code class="computeroutput">container</code>.
+ </p>
+</li>
+<li>
+<p>
+<span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.mirror.meta_class_attribute.type"></a>type;</p>
+<p>The type of the reflected attribute.
+ </p>
+</li>
+<li>
+<p>
+<span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.mirror.meta_class_attribute.typedef_or_type"></a>typedef_or_type;</p>
+<p>This type should be used to reflect the type of the attribute (to get a <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>
+ or a <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a></code> that reflects the type of the attribute), because it allows
+ to distinguish <code class="computeroutput">typedef</code>ined types.
+ </p>
+</li>
+<li>
+<p>
+<span class="bold"><strong>typedef</strong></span> meta_attribute_traits&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a name="boost.mirror.meta_class_attribute.traits"></a>traits;</p>
+<p>Additional traits of the attribute, like storage class specifiers, etc.
+ See the documentation of <code class="computeroutput">meta_attribute_traits</code> for more details.
+ </p>
+</li>
+</ol></div>
+</div>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a name="id2453716-bb"></a>base_name();</pre>
+<p>This static member function returns the base name of the
+ attribute reflected by the <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>.
+ When a full attribute name
+ <span class="bold"><strong>including</strong></span> the class name, that the
+ reflected member attribute belongs to,
+ is needed use the <code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2389784-bb">full_name</a></code> member function
+ instead.</p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a name="id2389784-bb"></a>full_name();</pre>
+<p>This static member function returns the full name of the
+ attribute reflected by the <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>
+ including the full name of the class that the attribute belongs to. For example:
+</p>
+<pre class="programlisting">
+typedef ::std::pair&lt;int, double&gt; pair;
+// reflect the class
+typedef <code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_CLASS.html" title="Macro BOOST_MIRRORED_CLASS">BOOST_MIRRORED_CLASS</a></code>(pair) meta_pair;
+// get the attributes container
+typedef meta_pair::attributes meta_pair_attribs;
+// get the individual meta-attributes
+typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;0&gt; &gt;::type meta_pair_first;
+// get the full name
+meta_pair_first::full_name();
+</pre>
+<p>
+ returns <code class="computeroutput">"::std::pair&lt; int, double &gt;::first"</code>. When the base attribute name
+ <span class="bold"><strong>without</strong></span> the full class name
+ is needed use the <code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2453716-bb">base_name</a></code> member function
+ instead.</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The first call to this function can be expensive
+ for attributes of deeply nested classes, because the name needs to be properly composed from
+ the class name and namespace names, which may
+ lead to multiple string concatenations. Subsequent calls to this member function
+ for a concrete specialization of <a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a>
+ are usually much faster.
+ </p></td>
+</tr></tbody>
+</table></div>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT&gt;
+ <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string&lt;CharT&gt;&amp;</span>
+ <a name="id2515520-bb"></a>get_name(::boost::mpl::bool_&lt;FullName&gt; full, ::std::char_traits&lt;CharT&gt; cht);</pre>
+<p>This static member template function returns either the base name
+ or the full name of the attribute reflected by this
+ <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>,
+ depending on the value of the template argument <code class="computeroutput">FullName</code>.
+ Furthermore it allows to choose whether the return value type is
+ <code class="computeroutput">::std::string</code> or <code class="computeroutput">::std::wstring</code> based
+ on the type of the second argument.
+ </p>
+<pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2525874-bb"></a>get(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&amp; instance);</pre>
+<p>This static member function returns the value of the attribute reflected
+ by this <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code> when given
+ an <code class="computeroutput">instance</code> of the class that the attribute belongs to:
+</p>
+<pre class="programlisting">
+typedef ::std::pair&lt;int, double&gt; pair;
+// reflect the class
+typedef <code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_CLASS.html" title="Macro BOOST_MIRRORED_CLASS">BOOST_MIRRORED_CLASS</a></code>(pair) meta_pair;
+// get the attributes container
+typedef meta_pair::attributes meta_pair_attribs;
+// get the individual meta-attributes
+typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;0&gt; &gt;::type meta_pair_first;
+typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;1&gt; &gt;::type meta_pair_second;
+//
+// create an instance of the pair
+pair p(10, 20.0);
+assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2525874-bb">get</a></code>(p) == p.first);
+assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2525874-bb">get</a></code>(p) == p.second);
+</pre>
+<p>
+ </p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> DestType&gt;
+ <span class="type">DestType&amp;</span> <a name="id2555698-bb"></a>query(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&amp; instance,
+ DestType&amp; destination);</pre>
+<p>This static member function assigns the value of the attribute reflected
+ by this <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code> (when given
+ an <code class="computeroutput">instance</code> of the class that the attribute belongs to),
+ to <code class="computeroutput">destination</code> and returns <code class="computeroutput">destination</code>. The <code class="computeroutput">DestType</code>
+ type must be assignable with the <code class="computeroutput">type</code> of the attribute:
+</p>
+<pre class="programlisting">
+typedef ::std::pair&lt;int, float&gt; pair;
+// reflect the class
+typedef <code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_CLASS.html" title="Macro BOOST_MIRRORED_CLASS">BOOST_MIRRORED_CLASS</a></code>(pair) meta_pair;
+// get the attributes container
+typedef meta_pair::attributes meta_pair_attribs;
+// get the individual meta-attributes
+typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;0&gt; &gt;::type meta_pair_first;
+typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;1&gt; &gt;::type meta_pair_second;
+//
+// create an instance of the pair
+pair p(10, 20.0f);
+// and two other variables
+long first = 30;
+float second = 40.0f;
+// query the values and check them
+assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2555698-bb">query</a></code>(p, first) == 10);
+assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2555698-bb">query</a></code>(p, second) == 20.0f);
+// and double check the variables
+assert(first == p.first);
+assert(second == p.second);
+</pre>
+<p>
+ </p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2439694-bb"></a>set(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&amp; instance, type value);</pre>
+<p>This static member function assigns the given value to the attribute reflected
+ by this <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code> when given
+ an <code class="computeroutput">instance</code> of the class that the attribute belongs to:
+</p>
+<pre class="programlisting">
+typedef ::std::pair&lt;int, float&gt; pair;
+// reflect the class
+typedef <code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_CLASS.html" title="Macro BOOST_MIRRORED_CLASS">BOOST_MIRRORED_CLASS</a></code>(pair) meta_pair;
+// get the attributes container
+typedef meta_pair::attributes meta_pair_attribs;
+// get the individual meta-attributes
+typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;0&gt; &gt;::type meta_pair_first;
+typedef <code class="computeroutput">at</code>&lt;meta_pair_attribs, mpl::int_&lt;1&gt; &gt;::type meta_pair_second;
+//
+// create an instance of the pair
+pair p(10, 20.0f);
+pair r(30, 40.0f);
+//
+assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2525874-bb">get</a></code>(p) != meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2525874-bb">get</a></code>(r));
+assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2525874-bb">get</a></code>(p) != meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2525874-bb">get</a></code>(r));
+// set new values
+meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2439694-bb">set</a></code>(p, meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2525874-bb">get</a></code>(r));
+meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2439694-bb">set</a></code>(p, meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2525874-bb">get</a></code>(r));
+// and check the values
+assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2525874-bb">get</a></code>(p) == meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2525874-bb">get</a></code>(r));
+assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2525874-bb">get</a></code>(p) == meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2525874-bb">get</a></code>(r));
+// and double check them
+assert(p.first == r.first);
+assert(p.second == r.second);
+</pre>
+<p>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2008 Matú&#353; Chochlík<p>Use, modification and distribution is subject to the Boost
+ Software License, Version 1.0. (See accompanying file
+ <code class="filename">LICENSE_1_0.txt</code> or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../BOOST_MIRRORED_CLASS.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.meta_attributes.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="meta_class_attributes.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/mirror/doc/html/boost/mirror/meta_class_attributes.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_class_attributes.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_class_attributes.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../../index.html" title="The Mirror library documentation">
 <link rel="up" href="../../mirror/reference.html#header.boost.mirror.meta_attributes.hpp" title="Header &lt;boost/mirror/meta_attributes.hpp&gt;">
-<link rel="prev" href="meta_attribute.html" title="Class template meta_attribute">
+<link rel="prev" href="meta_class_attribute.html" title="Class template meta_class_attribute">
 <link rel="next" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,13 +20,13 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="meta_attribute.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.meta_attributes.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="meta_class_all_attributes.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="meta_class_attribute.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.meta_attributes.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="meta_class_all_attributes.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.mirror.meta_class_attributes"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template meta_class_attributes</span></h2>
-<p>boost::mirror::meta_class_attributes &#8212; This class template contains the <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code>s
+<p>boost::mirror::meta_class_attributes &#8212; This class template contains the <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>s
                 reflecting the individual attributes of a class. More precisely, only those attributes,
                 that are defined in the reflected class, not including the inherited member attributes.
                 To inspect all attributes of a class use the specializations of the <code class="computeroutput"><a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a></code>
@@ -34,7 +34,7 @@
                 The <code class="computeroutput"><a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a></code> template should not be instantiated
                 directly, <code class="computeroutput"><a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a></code> are obtained only as result
                        of introspection operations on <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a></code>.
- The individual <code class="computeroutput"><a class="link" href="meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code>s and
+ The individual <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>s and
                 iterators pointing to them should be obtained as results
                 of the meta-object-sequence algoritms. See the examples for more details on usage of
                 <code class="computeroutput"><a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a></code>.
@@ -45,7 +45,7 @@
 <span class="bold"><strong>class</strong></span> <a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a> {
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2643378"></a><h2>Description</h2>
+<a name="id2611615"></a><h2>Description</h2>
 <p>
                 </p>
 <div class="section" lang="en">
@@ -69,7 +69,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="meta_attribute.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.meta_attributes.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="meta_class_all_attributes.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="meta_class_attribute.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.meta_attributes.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="meta_class_all_attributes.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/mirror/doc/html/boost/mirror/meta_inheritance.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_inheritance.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_inheritance.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -36,19 +36,19 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> unspecified&gt;
 <span class="bold"><strong>class</strong></span> <a class="link" href="meta_inheritance.html" title="Class template meta_inheritance">meta_inheritance</a> {
 <span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="meta_inheritance.html#id2428813-bbtypes">types</a></em></span>
+ <span class="emphasis"><em>// <a class="link" href="meta_inheritance.html#id2533333-bbtypes">types</a></em></span>
   <span class="bold"><strong>typedef</strong></span> mpl::int_&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_inheritance.html#boost.mirror.meta_inheritance.position">position</a>;
   <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="meta_inheritance.html#boost.mirror.meta_inheritance.base_class">base_class</a>;
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a>&lt; base_class &gt; <a class="link" href="meta_inheritance.html#boost.mirror.meta_inheritance.meta_base_class">meta_base_class</a>;
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2643783"></a><h2>Description</h2>
+<a name="id2612021"></a><h2>Description</h2>
 <p>This template allows to get compile-time meta-data about
                 the inheritance of a base class of a class.
                 </p>
 <div class="refsect2" lang="en">
-<a name="id2643794"></a><h3>
-<a name="id2428813-bbtypes"></a><code class="computeroutput">meta_inheritance</code> public types</h3>
+<a name="id2612032"></a><h3>
+<a name="id2533333-bbtypes"></a><code class="computeroutput">meta_inheritance</code> public types</h3>
 <div class="orderedlist"><ol type="1">
 <li>
 <p>

Modified: sandbox/mirror/doc/html/boost/mirror/meta_namespace.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_namespace.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_namespace.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -45,17 +45,17 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> NamespacePlaceholder&gt;
 <span class="bold"><strong>class</strong></span> <a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a> {
 <span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="meta_namespace.html#id2516570-bbtypes">types</a></em></span>
+ <span class="emphasis"><em>// <a class="link" href="meta_namespace.html#id2389582-bbtypes">types</a></em></span>
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_namespace.html#boost.mirror.meta_namespace.scope">scope</a>;
   <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="meta_namespace.html#boost.mirror.meta_namespace.ancestors">ancestors</a>;
- <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a class="link" href="meta_namespace.html#id2426032-bb">base_name</a>();
- <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a class="link" href="meta_namespace.html#id2488285-bb">full_name</a>();
+ <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a class="link" href="meta_namespace.html#id2501270-bb">base_name</a>();
+ <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a class="link" href="meta_namespace.html#id2389591-bb">full_name</a>();
   <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT&gt;
     <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string&lt;CharT&gt;&amp;</span>
- <a class="link" href="meta_namespace.html#id2531461-bb">get_name</a>(::boost::mpl::bool_&lt;FullName&gt;, ::std::char_traits&lt;CharT&gt;);
+ <a class="link" href="meta_namespace.html#id2390272-bb">get_name</a>(::boost::mpl::bool_&lt;FullName&gt;, ::std::char_traits&lt;CharT&gt;);
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2633534"></a><h2>Description</h2>
+<a name="id2601760"></a><h2>Description</h2>
 <p>The specializations of <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code> can
                 be used to get meta-information about the reflected types, some at compile-time and some at run-time.
                 The following examples show type reflection and basic
@@ -72,7 +72,7 @@
 <p>This sample code shows how to reflect a namespace and how to get its
                         base and full name.
                         </p>
-<a name="mirror.reference.sample.meta_namespace.usage01"></a><pre class="programlisting">
+<pre class="programlisting">
 #include &lt;boost/char_type_switch/iostream.hpp&gt;
 #include &lt;boost/mirror/meta_namespace.hpp&gt;
 
@@ -81,7 +81,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
- cts::bostream&amp; bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2468254">bcout</a>();
+ cts::bostream&amp; bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a>();
 
         // several namespaces are pre-registered
         bcout &lt;&lt; <a class="link" href="../../BOOST_MIRRORED_GLOBAL_SCOPE.html" title="Macro BOOST_MIRRORED_GLOBAL_SCOPE">BOOST_MIRRORED_GLOBAL_SCOPE</a>() ::base_name() &lt;&lt; endl;
@@ -121,7 +121,7 @@
         {
                 using namespace ::std;
                 using namespace ::boost;
- cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>&amp; bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2468254">bcout</a>();
+ cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>&amp; bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a>();
                 bcout &lt;&lt;
                         <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("ancestor ") &lt;&lt;
                         ctr++ &lt;&lt;
@@ -141,7 +141,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
- cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>&amp; bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2468254">bcout</a>();
+ cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>&amp; bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a>();
         //
         typedef <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::boost::mirror) meta_boost_mirror;
         //
@@ -165,9 +165,9 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="mirror.meta_namespace.reference.sample03"></a>Example - Generic namespace name getter</h6></div></div></div>
-<p>The <code class="computeroutput"><a class="link" href="meta_namespace.html#id2426032-bb">base_name</a></code> and the
- <code class="computeroutput"><a class="link" href="meta_namespace.html#id2488285-bb">full_name</a></code> methods
- are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_namespace.html#id2531461-bb">get_name</a></code>
+<p>The <code class="computeroutput"><a class="link" href="meta_namespace.html#id2501270-bb">base_name</a></code> and the
+ <code class="computeroutput"><a class="link" href="meta_namespace.html#id2389591-bb">full_name</a></code> methods
+ are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_namespace.html#id2390272-bb">get_name</a></code>
                         member function allows to specify the character type of the returned string and
                         to specify whether a full or just the base namespace name should be returned, based
                         on compile time arguments.
@@ -213,8 +213,8 @@
 </div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id2634033"></a><h3>
-<a name="id2516570-bbtypes"></a><code class="computeroutput">meta_namespace</code> public types</h3>
+<a name="id2602254"></a><h3>
+<a name="id2389582-bbtypes"></a><code class="computeroutput">meta_namespace</code> public types</h3>
 <div class="orderedlist"><ol type="1">
 <li>
 <p>
@@ -288,7 +288,7 @@
 </li>
 </ol></div>
 </div>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a name="id2426032-bb"></a>base_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a name="id2501270-bb"></a>base_name();</pre>
 <p>This static member function returns the base name of the
                         namespace reflected by a <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>.
                         For example the base namespace name "returned" by the invocation of
@@ -298,9 +298,9 @@
 <p>
                         is <code class="computeroutput">"mirror"</code>. When a full namespace name
                         <span class="bold"><strong>with</strong></span> the nested name specifier
- is needed use the <code class="computeroutput"><a class="link" href="meta_namespace.html#id2488285-bb">full_name</a></code> member function
+ is needed use the <code class="computeroutput"><a class="link" href="meta_namespace.html#id2389591-bb">full_name</a></code> member function
                         instead.</p>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a name="id2488285-bb"></a>full_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a name="id2389591-bb"></a>full_name();</pre>
 <p>This static member function returns the full name of the
                         namespace reflected by a <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>
                         with the nested name specifier. For example:
@@ -310,7 +310,7 @@
 <p>
                         returns <code class="computeroutput">"::boost::mirror"</code>. When the base namespace name
                         <span class="bold"><strong>without</strong></span> the nested name specifier
- is needed use the <code class="computeroutput"><a class="link" href="meta_namespace.html#id2426032-bb">base_name</a></code> member function
+ is needed use the <code class="computeroutput"><a class="link" href="meta_namespace.html#id2501270-bb">base_name</a></code> member function
                         instead.</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -327,7 +327,7 @@
 </table></div>
 <pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT&gt;
   <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string&lt;CharT&gt;&amp;</span>
- <a name="id2531461-bb"></a>get_name(::boost::mpl::bool_&lt;FullName&gt; full, ::std::char_traits&lt;CharT&gt; cht);</pre>
+ <a name="id2390272-bb"></a>get_name(::boost::mpl::bool_&lt;FullName&gt; full, ::std::char_traits&lt;CharT&gt; cht);</pre>
 <p>This static member template function returns either the base name
                         <span class="bold"><strong>without</strong></span> the nested name specifier
                         or the full name <span class="bold"><strong>with</strong></span> the
@@ -342,14 +342,14 @@
 <pre class="programlisting"><code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code>(::boost::mirror) :: get_name(::boost::mpl::false_(), ::std::char_traits&lt;char&gt;())
                         </pre>
 <p> is equivalent to calling the
- <code class="computeroutput"><a class="link" href="meta_namespace.html#id2426032-bb">base_name</a></code> member function with the
+ <code class="computeroutput"><a class="link" href="meta_namespace.html#id2501270-bb">base_name</a></code> member function with the
                         <code class="computeroutput"><a class="link" href="../../BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a></code> symbol undefined,
                         which returns a <code class="computeroutput">::std::string</code> holding the string <code class="computeroutput">"mirror"</code> and calling
                         </p>
 <pre class="programlisting"><code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code>(::boost::mirror) :: get_name(::boost::mpl::true_(), ::std::char_traits&lt;wchar_t&gt;())
                         </pre>
 <p> is equivalent to calling the
- <code class="computeroutput"><a class="link" href="meta_namespace.html#id2488285-bb">full_name</a></code> method with the
+ <code class="computeroutput"><a class="link" href="meta_namespace.html#id2389591-bb">full_name</a></code> method with the
                         <code class="computeroutput"><a class="link" href="../../BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a></code> symbol defined,
                         which returns a <code class="computeroutput">::std::wstring</code> holding this string <code class="computeroutput">L"::boost::mirror"</code>.
                         </p>

Modified: sandbox/mirror/doc/html/boost/mirror/meta_type.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_type.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_type.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -44,17 +44,17 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Type&gt;
 <span class="bold"><strong>class</strong></span> <a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a> {
 <span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="meta_type.html#id2550596-bbtypes">types</a></em></span>
+ <span class="emphasis"><em>// <a class="link" href="meta_type.html#id2497153-bbtypes">types</a></em></span>
   <span class="bold"><strong>typedef</strong></span> Type <a class="link" href="meta_type.html#boost.mirror.meta_type.reflected_type">reflected_type</a>;
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt;-or-<a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a>&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a class="link" href="meta_type.html#boost.mirror.meta_type.scope">scope</a>;
- <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a class="link" href="meta_type.html#id2537441-bb">base_name</a>();
- <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a class="link" href="meta_type.html#id2529094-bb">full_name</a>();
+ <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a class="link" href="meta_type.html#id2501518-bb">base_name</a>();
+ <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a class="link" href="meta_type.html#id2539067-bb">full_name</a>();
   <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT&gt;
     <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string&lt;CharT&gt;&amp;</span>
- <a class="link" href="meta_type.html#id2495549-bb">get_name</a>(::boost::mpl::bool_&lt;FullName&gt;, ::std::char_traits&lt;CharT&gt;);
+ <a class="link" href="meta_type.html#id2474790-bb">get_name</a>(::boost::mpl::bool_&lt;FullName&gt;, ::std::char_traits&lt;CharT&gt;);
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2636381"></a><h2>Description</h2>
+<a name="id2604601"></a><h2>Description</h2>
 <p>The specializations of <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code> can
                 be used to get meta-information about the reflected types, some at compile-time and some at run-time.
                 The following examples show type reflection and basic
@@ -95,7 +95,7 @@
         typedef <a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(T) meta_T;
 
         // print out the full type name
- cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2468254">bcout</a>() &lt;&lt;
+ cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a>() &lt;&lt;
                 <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("The full type name is: ") &lt;&lt;
                 meta_T::full_name() &lt;&lt;
         endl;
@@ -124,7 +124,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
- cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>&amp; bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2468254">bcout</a>();
+ cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>&amp; bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a>();
         // print out the base type name
         bcout &lt;&lt;
                 <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("The type name is: ") &lt;&lt;
@@ -197,7 +197,7 @@
 {
         using namespace ::std;
         using namespace ::boost;
- cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>&amp; bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2468254">bcout</a>();
+ cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>&amp; bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a>();
         bcout &lt;&lt; <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("type: '");
         bcout &lt;&lt; MetaType::base_name();
         bcout &lt;&lt; <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("' defined in: '");
@@ -231,9 +231,9 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="mirror.meta_type.reference.sample04"></a>Example - Generic typename getter</h6></div></div></div>
-<p>The <code class="computeroutput"><a class="link" href="meta_type.html#id2537441-bb">base_name</a></code> and the
- <code class="computeroutput"><a class="link" href="meta_type.html#id2529094-bb">full_name</a></code> member functions
- are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_type.html#id2495549-bb">get_name</a></code>
+<p>The <code class="computeroutput"><a class="link" href="meta_type.html#id2501518-bb">base_name</a></code> and the
+ <code class="computeroutput"><a class="link" href="meta_type.html#id2539067-bb">full_name</a></code> member functions
+ are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_type.html#id2474790-bb">get_name</a></code>
                         method allows to specify the character type of the returned string and
                         to specify whether a full or just the base name should be returned, based
                         on compile time arguments.
@@ -279,8 +279,8 @@
 </div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id2637019"></a><h3>
-<a name="id2550596-bbtypes"></a><code class="computeroutput">meta_type</code> public types</h3>
+<a name="id2605239"></a><h3>
+<a name="id2497153-bbtypes"></a><code class="computeroutput">meta_type</code> public types</h3>
 <div class="orderedlist"><ol type="1">
 <li>
 <p>
@@ -299,7 +299,7 @@
 </li>
 </ol></div>
 </div>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a name="id2537441-bb"></a>base_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a name="id2501518-bb"></a>base_name();</pre>
 <p>This static member function returns the base name of the
                         type reflected by <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>
                         without the nested name specifier. For example:
@@ -313,7 +313,7 @@
 <p>
                         returns simply <code class="computeroutput">"string"</code>. When a full type name
                         <span class="bold"><strong>with</strong></span> the nested name specifier
- is needed use the <code class="computeroutput"><a class="link" href="meta_type.html#id2529094-bb">full_name</a></code> member function
+ is needed use the <code class="computeroutput"><a class="link" href="meta_type.html#id2539067-bb">full_name</a></code> member function
                         instead.</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -329,7 +329,7 @@
                         </p></td>
 </tr></tbody>
 </table></div>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a name="id2529094-bb"></a>full_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&amp;</span> <a name="id2539067-bb"></a>full_name();</pre>
 <p>This static member function returns the full name of the
                         type reflected by <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>
                         with the nested name specifier. For example:
@@ -343,7 +343,7 @@
 <p>
                         returns <code class="computeroutput">"::std::string"</code>. When the base type name
                         <span class="bold"><strong>without</strong></span> the nested name specifier
- is needed use the <code class="computeroutput"><a class="link" href="meta_type.html#id2537441-bb">base_name</a></code> member function
+ is needed use the <code class="computeroutput"><a class="link" href="meta_type.html#id2501518-bb">base_name</a></code> member function
                         instead.</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -361,7 +361,7 @@
 </table></div>
 <pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT&gt;
   <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string&lt;CharT&gt;&amp;</span>
- <a name="id2495549-bb"></a>get_name(::boost::mpl::bool_&lt;FullName&gt; full, ::std::char_traits&lt;CharT&gt; cht);</pre>
+ <a name="id2474790-bb"></a>get_name(::boost::mpl::bool_&lt;FullName&gt; full, ::std::char_traits&lt;CharT&gt; cht);</pre>
 <p>This static member template function returns either the base name
                         <span class="bold"><strong>without</strong></span> the nested name specifier
                         or the full name <span class="bold"><strong>with</strong></span> the
@@ -379,7 +379,7 @@
 <pre class="programlisting"><code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code> &lt; ::std::string &gt; :: get_name(::boost::mpl::false_(), ::std::char_traits&lt;char&gt;())</pre>
 <p>
                         is equivalent to calling the
- <code class="computeroutput"><a class="link" href="meta_type.html#id2537441-bb">base_name</a></code> member function with the
+ <code class="computeroutput"><a class="link" href="meta_type.html#id2501518-bb">base_name</a></code> member function with the
                         <code class="computeroutput"><a class="link" href="../../BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a></code> symbol undefined,
                         which returns a <code class="computeroutput">::std::string</code> containing <code class="computeroutput">"string"</code> and calling
                         </p>
@@ -388,7 +388,7 @@
                         </p>
 <pre class="programlisting"><code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code> &lt; ::std::string &gt; :: get_name( ::boost::mpl::true_(), ::std::char_traits&lt;wchar_t&gt;())</pre>
 <p> is equivalent to calling the
- <code class="computeroutput"><a class="link" href="meta_type.html#id2529094-bb">full_name</a></code> method with the
+ <code class="computeroutput"><a class="link" href="meta_type.html#id2539067-bb">full_name</a></code> method with the
                         <code class="computeroutput"><a class="link" href="../../BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a></code> symbol defined,
                         which returns a <code class="computeroutput">::std::wstring</code> containing <code class="computeroutput">L"::std::string"</code>.
                         </p>

Added: sandbox/mirror/doc/html/boost/mirror/reflects_attribute.html
==============================================================================
--- (empty file)
+++ sandbox/mirror/doc/html/boost/mirror/reflects_attribute.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template reflects_attribute</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="The Mirror library documentation">
+<link rel="up" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_attribute.hpp" title="Header &lt;boost/mirror/traits/reflects_attribute.hpp&gt;">
+<link rel="prev" href="reflects_class.html" title="Class template reflects_class">
+<link rel="next" href="reflects_inheritance.html" title="Class template reflects_inheritance">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reflects_class.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_attribute.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reflects_inheritance.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.mirror.reflects_attribute"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template reflects_attribute</span></h2>
+<p>boost::mirror::reflects_attribute &#8212; If <code class="computeroutput">MetaObject</code> is an instantiation of <code class="computeroutput">meta_attribute</code>,
+ then <code class="computeroutput"><a class="link" href="reflects_attribute.html" title="Class template reflects_attribute">reflects_attribute</a></code>
+ inherits from <code class="computeroutput">::boost::true_type</code>. Otherwise it inherits from
+ <code class="computeroutput">::boost::false_type</code>.
+ </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> MetaObject&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="reflects_attribute.html" title="Class template reflects_attribute">reflects_attribute</a> : <span class="bold"><strong>public</strong></span> <span class="type">false_type-or-true_type</span> {
+};</pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2008 Matú&#353; Chochlík<p>Use, modification and distribution is subject to the Boost
+ Software License, Version 1.0. (See accompanying file
+ <code class="filename">LICENSE_1_0.txt</code> or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reflects_class.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_attribute.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reflects_inheritance.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/mirror/doc/html/boost/mirror/reflects_class.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/reflects_class.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/reflects_class.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -7,7 +7,7 @@
 <link rel="start" href="../../index.html" title="The Mirror library documentation">
 <link rel="up" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_class.hpp" title="Header &lt;boost/mirror/traits/reflects_class.hpp&gt;">
 <link rel="prev" href="reflects_type.html" title="Class template reflects_type">
-<link rel="next" href="reflects_inheritance.html" title="Class template reflects_inheritance">
+<link rel="next" href="reflects_attribute.html" title="Class template reflects_attribute">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="reflects_type.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_class.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reflects_inheritance.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reflects_type.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_class.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reflects_attribute.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.mirror.reflects_class"></a><div class="titlepage"></div>
@@ -37,7 +37,7 @@
 <span class="bold"><strong>class</strong></span> <a class="link" href="reflects_class.html" title="Class template reflects_class">reflects_class</a> : <span class="bold"><strong>public</strong></span> <span class="type">false_type-or-true_type</span> {
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2644852"></a><h2>Description</h2>
+<a name="id2613470"></a><h2>Description</h2>
 <p>This template can be used to distinguish whether the opaque <code class="computeroutput">MetaObject</code> type reflects a class
                                 and thus is an instantiation of <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a></code>.
                                 </p>
@@ -72,7 +72,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="reflects_type.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_class.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reflects_inheritance.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reflects_type.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_class.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reflects_attribute.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/mirror/doc/html/boost/mirror/reflects_global_scope.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/reflects_global_scope.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/reflects_global_scope.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -38,7 +38,7 @@
 <span class="bold"><strong>class</strong></span> <a class="link" href="reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a> : <span class="bold"><strong>public</strong></span> <span class="type">false_type-or-true_type</span> {
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2644342"></a><h2>Description</h2>
+<a name="id2612757"></a><h2>Description</h2>
 <p>This template can be used to distinguish whether the opaque <code class="computeroutput">MetaObject</code> type reflects the global scope
                                 and thus is an instantiation of <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code> for the global scope.
                                 </p>
@@ -47,34 +47,98 @@
 <a name="mirror.reflects_global_scope.reference.samples"></a>Examples</h6></div></div></div>
 <pre class="programlisting">
 BOOST_STATIC_ASSERT((
- reflects_global_scope&lt; BOOST_MIRRORED_GLOBAL_SCOPE() &gt;::value
+ reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_GLOBAL_SCOPE.html" title="Macro BOOST_MIRRORED_GLOBAL_SCOPE">BOOST_MIRRORED_GLOBAL_SCOPE</a>() &gt;::value
 ));
 </pre>
 <pre class="programlisting">
 BOOST_STATIC_ASSERT((
- !reflects_global_scope&lt; BOOST_MIRRORED_NAMESPACE(::boost::mirror) &gt;::value
+ !reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::boost::mirror) &gt;::value
 ));
 </pre>
 <pre class="programlisting">
 BOOST_STATIC_ASSERT((
- !reflects_global_scope&lt; BOOST_MIRRORED_TYPE(::std::string) &gt;::value
+ !reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(::std::string) &gt;::value
 ));
 </pre>
 <pre class="programlisting">
 BOOST_MPL_ASSERT((
- reflects_global_scope&lt; BOOST_MIRRORED_TYPE(int)::scope &gt;
+ reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(int)::scope &gt;
 ));
 </pre>
 <pre class="programlisting">
 BOOST_MPL_ASSERT((
- reflects_global_scope&lt; BOOST_MIRRORED_TYPE(::std::string)::scope::scope &gt;
+ reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(::std::string)::scope::scope &gt;
 ));
 </pre>
 <pre class="programlisting">
 BOOST_MPL_ASSERT_NOT((
- reflects_global_scope&lt; BOOST_MIRRORED_TYPE(::std::string)::scope &gt;
+ reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(::std::string)::scope &gt;
 ));
 </pre>
+<p>The following code sample shows the registering and reflection of namespaces,
+ and the use of the <code class="computeroutput"><a class="link" href="reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a></code> trait template.
+ </p>
+<pre class="programlisting">
+#include &lt;boost/mirror/meta_namespace.hpp&gt;
+#include &lt;boost/mirror/traits/reflects_global_scope.hpp&gt;
+#include &lt;boost/mpl/assert.hpp&gt;
+
+
+// define some namespaces
+namespace foo {
+namespace bar {
+} // namespace bar
+} // namespace foo
+
+namespace baz {
+} // namespace baz
+
+// register them with mirror
+namespace boost {
+ namespace mirror {
+ // ::foo
+ <a class="link" href="../../BOOST_MIRROR_REG_NAMESPACE.html" title="Macro BOOST_MIRROR_REG_NAMESPACE">BOOST_MIRROR_REG_NAMESPACE</a>((foo))
+ // ::foo::bar
+ <a class="link" href="../../BOOST_MIRROR_REG_NAMESPACE.html" title="Macro BOOST_MIRROR_REG_NAMESPACE">BOOST_MIRROR_REG_NAMESPACE</a>((foo)(bar))
+ // ::baz
+ <a class="link" href="../../BOOST_MIRROR_REG_NAMESPACE.html" title="Macro BOOST_MIRROR_REG_NAMESPACE">BOOST_MIRROR_REG_NAMESPACE</a>((baz))
+} // namespace mirror
+} // namespace boost
+
+
+int main(void)
+{
+ using ::boost::mirror::reflects_global_scope;
+ BOOST_MPL_ASSERT_NOT((
+ reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::boost::mirror) &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::boost::mirror)::scope::scope &gt;
+ ));
+ BOOST_MPL_ASSERT_NOT((
+ reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::foo) &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::foo)::scope &gt;
+ ));
+ BOOST_MPL_ASSERT_NOT((
+ reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::foo::bar) &gt;
+ ));
+ BOOST_MPL_ASSERT_NOT((
+ reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::foo::bar)::scope &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::foo::bar)::scope::scope &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::baz)::scope &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_global_scope&lt; <a class="link" href="../../BOOST_MIRRORED_GLOBAL_SCOPE.html" title="Macro BOOST_MIRRORED_GLOBAL_SCOPE">BOOST_MIRRORED_GLOBAL_SCOPE</a>() &gt;
+ ));
+ return 0;
+}
+</pre>
 </div>
 </div>
 </div>

Modified: sandbox/mirror/doc/html/boost/mirror/reflects_inheritance.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/reflects_inheritance.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/reflects_inheritance.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../../index.html" title="The Mirror library documentation">
 <link rel="up" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_inheritance.hpp" title="Header &lt;boost/mirror/traits/reflects_inheritance.hpp&gt;">
-<link rel="prev" href="reflects_class.html" title="Class template reflects_class">
+<link rel="prev" href="reflects_attribute.html" title="Class template reflects_attribute">
 <link rel="next" href="reflects_virtual_inheritance.html" title="Class template reflects_virtual_inheritance">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="reflects_class.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_inheritance.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reflects_virtual_inheritance.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reflects_attribute.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_inheritance.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reflects_virtual_inheritance.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.mirror.reflects_inheritance"></a><div class="titlepage"></div>
@@ -47,7 +47,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="reflects_class.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_inheritance.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reflects_virtual_inheritance.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reflects_attribute.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_inheritance.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reflects_virtual_inheritance.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/mirror/doc/html/boost/mirror/reflects_namespace.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/reflects_namespace.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/reflects_namespace.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -37,7 +37,7 @@
 <span class="bold"><strong>class</strong></span> <a class="link" href="reflects_namespace.html" title="Class template reflects_namespace">reflects_namespace</a> : <span class="bold"><strong>public</strong></span> <span class="type">false_type-or-true_type</span> {
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2644089"></a><h2>Description</h2>
+<a name="id2612328"></a><h2>Description</h2>
 <p>This template can be used to distinguish whether the opaque <code class="computeroutput">MetaObject</code> type reflects a namespace
                                 and thus is an instantiation of <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>.
                                 </p>
@@ -46,34 +46,92 @@
 <a name="mirror.reflects_namespace.reference.samples"></a>Examples</h6></div></div></div>
 <pre class="programlisting">
 BOOST_STATIC_ASSERT((
- reflects_namespace&lt; BOOST_MIRRORED_NAMESPACE(::boost::mirror) &gt;::value
+ reflects_namespace&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::boost::mirror) &gt;::value
 ));
 </pre>
 <pre class="programlisting">
 BOOST_STATIC_ASSERT((
- reflects_namespace&lt; BOOST_MIRRORED_TYPE(::std::string)::scope &gt;::value
+ reflects_namespace&lt; <a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(::std::string)::scope &gt;::value
 ));
 </pre>
 <pre class="programlisting">
 BOOST_STATIC_ASSERT((
- !reflects_namespace&lt; BOOST_MIRRORED_TYPE(::std::string) &gt;::value
+ !reflects_namespace&lt; <a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(::std::string) &gt;::value
 ));
 </pre>
 <pre class="programlisting">
 BOOST_MPL_ASSERT((
- reflects_namespace&lt; BOOST_MIRRORED_NAMESPACE(::boost::mirror) &gt;
+ reflects_namespace&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::boost::mirror) &gt;
 ));
 </pre>
 <pre class="programlisting">
 BOOST_MPL_ASSERT((
- reflects_namespace&lt; BOOST_MIRRORED_TYPE(::std::string)::scope &gt;
+ reflects_namespace&lt; <a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(::std::string)::scope &gt;
 ));
 </pre>
 <pre class="programlisting">
 BOOST_MPL_ASSERT_NOT((
- reflects_namespace&lt; BOOST_MIRRORED_TYPE(::std::string) &gt;
+ reflects_namespace&lt; <a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(::std::string) &gt;
 ));
 </pre>
+<p>The following code sample shows the registering and reflection of namespaces,
+ and the use of the <code class="computeroutput"><a class="link" href="reflects_namespace.html" title="Class template reflects_namespace">reflects_namespace</a></code> trait template.
+ </p>
+<pre class="programlisting">
+#include &lt;boost/mirror/meta_namespace.hpp&gt;
+#include &lt;boost/mirror/traits/reflects_namespace.hpp&gt;
+#include &lt;boost/mpl/assert.hpp&gt;
+
+
+// define some namespaces
+namespace foo {
+namespace bar {
+} // namespace bar
+} // namespace foo
+
+namespace baz {
+} // namespace baz
+
+// register them with mirror
+namespace boost {
+ namespace mirror {
+ // ::foo
+ <a class="link" href="../../BOOST_MIRROR_REG_NAMESPACE.html" title="Macro BOOST_MIRROR_REG_NAMESPACE">BOOST_MIRROR_REG_NAMESPACE</a>((foo))
+ // ::foo::bar
+ <a class="link" href="../../BOOST_MIRROR_REG_NAMESPACE.html" title="Macro BOOST_MIRROR_REG_NAMESPACE">BOOST_MIRROR_REG_NAMESPACE</a>((foo)(bar))
+ // ::baz
+ <a class="link" href="../../BOOST_MIRROR_REG_NAMESPACE.html" title="Macro BOOST_MIRROR_REG_NAMESPACE">BOOST_MIRROR_REG_NAMESPACE</a>((baz))
+} // namespace mirror
+} // namespace boost
+
+
+int main(void)
+{
+ using ::boost::mirror::reflects_namespace;
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::boost::mirror) &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::foo) &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::foo)::scope &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::foo::bar) &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::foo::bar)::scope &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::foo::bar)::scope::scope &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::baz) &gt;
+ ));
+ return 0;
+}
+</pre>
 </div>
 </div>
 </div>

Modified: sandbox/mirror/doc/html/boost/mirror/reflects_type.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/reflects_type.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/reflects_type.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -37,7 +37,7 @@
 <span class="bold"><strong>class</strong></span> <a class="link" href="reflects_type.html" title="Class template reflects_type">reflects_type</a> : <span class="bold"><strong>public</strong></span> <span class="type">false_type-or-true_type</span> {
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2644600"></a><h2>Description</h2>
+<a name="id2613218"></a><h2>Description</h2>
 <p>This template can be used to distinguish whether the opaque <code class="computeroutput">MetaObject</code> type reflects a type or a class
                                 and thus is an instantiation of <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>.
                                 </p>

Modified: sandbox/mirror/doc/html/boost/mirror/reflects_virtual_inheritance.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/reflects_virtual_inheritance.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/reflects_virtual_inheritance.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -7,7 +7,7 @@
 <link rel="start" href="../../index.html" title="The Mirror library documentation">
 <link rel="up" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_virtual_inheritance.hpp" title="Header &lt;boost/mirror/traits/reflects_virtual_inheritance.hpp&gt;">
 <link rel="prev" href="reflects_inheritance.html" title="Class template reflects_inheritance">
-<link rel="next" href="../../mirror/rationale.html" title="Rationale">
+<link rel="next" href="../../mirror/examples.html" title="Examples">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="reflects_inheritance.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_virtual_inheritance.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../mirror/rationale.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reflects_inheritance.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_virtual_inheritance.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../mirror/examples.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.mirror.reflects_virtual_inheritance"></a><div class="titlepage"></div>
@@ -48,7 +48,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="reflects_inheritance.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_virtual_inheritance.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../mirror/rationale.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reflects_inheritance.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_virtual_inheritance.hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../mirror/examples.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/mirror/doc/html/char_type_switch.html
==============================================================================
--- sandbox/mirror/doc/html/char_type_switch.html (original)
+++ sandbox/mirror/doc/html/char_type_switch.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,7 +34,7 @@
 </div></div>
 <div><p class="copyright">Copyright © 2008 Matú&#353; Chochlík</p></div>
 <div><div class="legalnotice">
-<a name="id2645298"></a><p>Use, modification and distribution is subject to the Boost
+<a name="id2614510"></a><p>Use, modification and distribution is subject to the Boost
                         Software License, Version 1.0. (See accompanying file
                         <code class="filename">LICENSE_1_0.txt</code> or copy at http://www.boost.org/LICENSE_1_0.txt)
                         </p>
@@ -49,7 +49,7 @@
 <dt><span class="section">Motivation</span></dt>
 </dl></dd>
 <dt><span class="section">Char Type Switch Reference</span></dt>
-<dd><dl><dt><span class="section">Header files</span></dt></dl></dd>
+<dd><dl><dt><span class="section">Header files</span></dt></dl></dd>
 </dl>
 </div>
 <div class="section" lang="en">
@@ -78,8 +78,8 @@
         <code class="computeroutput">::boost::cts::<a class="link" href="boost/cts/bistream.html" title="Type definition bistream">bistream</a></code>,
         <code class="computeroutput">::boost::cts::<a class="link" href="boost/cts/bostream.html" title="Type definition bostream">bostream</a></code>, etc.,
         functions like
- <code class="computeroutput">::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrlen_id2406930">bstrlen</a></code>,
- <code class="computeroutput">::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcpy_id2376472">bstrcpy</a></code>, etc.
+ <code class="computeroutput">::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrlen_id2548529">bstrlen</a></code>,
+ <code class="computeroutput">::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcpy_id2538908">bstrcpy</a></code>, etc.
         and macros like
         <code class="computeroutput"><a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>(STRING_LITERAL)</code> OR
         <code class="computeroutput"><a class="link" href="BOOST_CTS_LIT_LENGTH.html" title="Macro BOOST_CTS_LIT_LENGTH">BOOST_CTS_LIT_LENGTH</a>(STRING_LITERAL)</code>

Modified: sandbox/mirror/doc/html/char_type_switch/reference.html
==============================================================================
--- sandbox/mirror/doc/html/char_type_switch/reference.html (original)
+++ sandbox/mirror/doc/html/char_type_switch/reference.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -25,12 +25,12 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="char_type_switch.reference"></a>Char Type Switch Reference</h2></div></div></div>
-<div class="toc"><dl><dt><span class="section">Header files</span></dt></dl></div>
+<div class="toc"><dl><dt><span class="section">Header files</span></dt></dl></div>
 <p>
         </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="id2645664"></a>Header files</h3></div></div></div>
+<a name="id2614876"></a>Header files</h3></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section">Header <boost/char_type_switch/choice.hpp></span></dt>
 <dt><span class="section">Header <boost/char_type_switch/char.hpp></span></dt>
@@ -78,31 +78,31 @@
     <span class="bold"><strong>typedef</strong></span> ::std::basic_ostream&lt;<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="../boost/cts/bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>&gt; <a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a>;
     <span class="bold"><strong>typedef</strong></span> ::std::basic_iostream&lt;<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="../boost/cts/bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>&gt; <a class="link" href="../boost/cts/biostream.html" title="Type definition biostream">biostream</a>;
 
- <span class="emphasis"><em>// <a class="link" href="reference.html#id2543009-bb">free-functions</a></em></span>
- <span class="type"><a class="link" href="../boost/cts/bistream.html" title="Type definition bistream">bistream</a>&amp;</span> <a class="link" href="reference.html#boost.cts.bcin_id2421509">bcin</a>();
- <span class="type"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a>&amp;</span> <a class="link" href="reference.html#boost.cts.bcout_id2468254">bcout</a>();
+ <span class="emphasis"><em>// <a class="link" href="reference.html#id2344134-bb">free-functions</a></em></span>
+ <span class="type"><a class="link" href="../boost/cts/bistream.html" title="Type definition bistream">bistream</a>&amp;</span> <a class="link" href="reference.html#boost.cts.bcin_id2344130">bcin</a>();
+ <span class="type"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a>&amp;</span> <a class="link" href="reference.html#boost.cts.bcout_id2426269">bcout</a>();
   }
 }</pre>
 <div class="refsect2" lang="en">
-<a name="id2647167"></a><h3>
-<a name="id2543009-bb"></a><code class="computeroutput"></code> free-functions</h3>
+<a name="id2616379"></a><h3>
+<a name="id2344134-bb"></a><code class="computeroutput"></code> free-functions</h3>
 <div class="orderedlist"><ol type="1">
 <li>
-<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bistream.html" title="Type definition bistream">bistream</a>&amp;</span> <a name="boost.cts.bcin_id2421509"></a>bcin();</pre>
+<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bistream.html" title="Type definition bistream">bistream</a>&amp;</span> <a name="boost.cts.bcin_id2344130"></a>bcin();</pre>
 <p>Returns a reference to the standard input stream.
                 </p>
 <p>If <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> is defined as <code class="computeroutput">char</code> then this function returns a reference
                 to <code class="computeroutput">::std::cin</code>, otherwise if <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> is defined as <code class="computeroutput">wchar_t</code>,
- then <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bcin_id2421509">bcin</a></code> returns a reference to <code class="computeroutput">::std::wcin</code>.
+ then <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bcin_id2344130">bcin</a></code> returns a reference to <code class="computeroutput">::std::wcin</code>.
                 </p>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a>&amp;</span> <a name="boost.cts.bcout_id2468254"></a>bcout();</pre>
+<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a>&amp;</span> <a name="boost.cts.bcout_id2426269"></a>bcout();</pre>
 <p>Returns a reference to the standard output stream.
                 </p>
 <p>If <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> is defined as <code class="computeroutput">char</code> then this function returns a reference
                 to <code class="computeroutput">::std::cout</code>, otherwise if <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> is defined as <code class="computeroutput">wchar_t</code>,
- then <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bcout_id2468254">bcout</a></code> returns a reference to <code class="computeroutput">::std::wcout</code>.
+ then <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bcout_id2426269">bcout</a></code> returns a reference to <code class="computeroutput">::std::wcout</code>.
                 </p>
 </li>
 </ol></div>
@@ -114,19 +114,19 @@
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> cts {
 
- <span class="emphasis"><em>// <a class="link" href="reference.html#id2567839-bb">free-functions</a></em></span>
- <span class="type">size_t</span> <a class="link" href="reference.html#boost.cts.bstrlen_id2406930">bstrlen</a>(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*);
- <span class="type"><span class="bold"><strong>int</strong></span></span> <a class="link" href="reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a>(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*);
- <span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a class="link" href="reference.html#boost.cts.bstrcpy_id2376472">bstrcpy</a>(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*);
- <span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a class="link" href="reference.html#boost.cts.bstrncpy_id2566178">bstrncpy</a>(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, size_t);
+ <span class="emphasis"><em>// <a class="link" href="reference.html#id2386852-bb">free-functions</a></em></span>
+ <span class="type">size_t</span> <a class="link" href="reference.html#boost.cts.bstrlen_id2548529">bstrlen</a>(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*);
+ <span class="type"><span class="bold"><strong>int</strong></span></span> <a class="link" href="reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a>(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*);
+ <span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a class="link" href="reference.html#boost.cts.bstrcpy_id2538908">bstrcpy</a>(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*);
+ <span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a class="link" href="reference.html#boost.cts.bstrncpy_id2521418">bstrncpy</a>(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, size_t);
   }
 }</pre>
 <div class="refsect2" lang="en">
-<a name="id2648163"></a><h3>
-<a name="id2567839-bb"></a><code class="computeroutput"></code> free-functions</h3>
+<a name="id2617374"></a><h3>
+<a name="id2386852-bb"></a><code class="computeroutput"></code> free-functions</h3>
 <div class="orderedlist"><ol type="1">
 <li>
-<pre class="literallayout"><span class="type">size_t</span> <a name="boost.cts.bstrlen_id2406930"></a>bstrlen(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* str);</pre>
+<pre class="literallayout"><span class="type">size_t</span> <a name="boost.cts.bstrlen_id2548529"></a>bstrlen(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* str);</pre>
 <p>Returns the length (the count of characters) of the given string without the terminating null character.
                 </p>
 <p>Calling this function is equivalent to calling <code class="computeroutput">strlen</code> if
@@ -143,18 +143,18 @@
 int main(void)
 {
         using namespace ::boost::cts;
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrlen_id2406930">bstrlen</a></code>(<code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo")) == 3);
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrlen_id2406930">bstrlen</a></code>(<code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo")) == <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT_LENGTH.html" title="Macro BOOST_CTS_LIT_LENGTH">BOOST_CTS_LIT_LENGTH</a></code>("foo"));
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrlen_id2548529">bstrlen</a></code>(<code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo")) == 3);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrlen_id2548529">bstrlen</a></code>(<code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo")) == <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT_LENGTH.html" title="Macro BOOST_CTS_LIT_LENGTH">BOOST_CTS_LIT_LENGTH</a></code>("foo"));
         //
         const <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> bar[] = <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("bar");
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrlen_id2406930">bstrlen</a></code>(bar) == 3);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrlen_id2548529">bstrlen</a></code>(bar) == 3);
         return 0;
 }
 </pre>
 </div>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="boost.cts.bstrcmp_id2441845"></a>bstrcmp(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* str1, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* str2);</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="boost.cts.bstrcmp_id2395724"></a>bstrcmp(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* str1, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* str2);</pre>
 <p>This function compares the given two strings and returns an integral value that indicates the relationship between them.
                 </p>
 <p>Calling this function is equivalent to calling <code class="computeroutput">strcmp</code> if
@@ -177,19 +177,19 @@
         const <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> foo[] = <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo");
         const <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> bar[] = <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("bar");
 
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a></code>(foo, bar) &gt; 0);
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a></code>(foo, foo) == 0);
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a></code>(bar, foo) &lt; 0);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a></code>(foo, bar) &gt; 0);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a></code>(foo, foo) == 0);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a></code>(bar, foo) &lt; 0);
 
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a></code>(foo, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("baz")) &gt; 0);
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a></code>(foo, <code class="computeroutput"><a class="link" href="../BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a></code>(foobar)) &lt;= 0);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a></code>(foo, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("baz")) &gt; 0);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a></code>(foo, <code class="computeroutput"><a class="link" href="../BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a></code>(foobar)) &lt;= 0);
         return 0;
 }
 </pre>
 </div>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a name="boost.cts.bstrcpy_id2376472"></a>bstrcpy(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* dst, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* src);</pre>
+<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a name="boost.cts.bstrcpy_id2538908"></a>bstrcpy(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* dst, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* src);</pre>
 <p>This function copies <code class="computeroutput">src</code> into <code class="computeroutput">dst</code> including the terminating null character and returns <code class="computeroutput">dst</code>.
                         <code class="computeroutput">dst</code> should not overlap <code class="computeroutput">src</code> in memory.
                 </p>
@@ -210,19 +210,19 @@
         <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> aaa[4];
         <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> bbb[4];
 
- <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2376472">bstrcpy</a></code>(aaa, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo"));
- <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2376472">bstrcpy</a></code>(bbb, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("bar"));
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a></code>(aaa, bbb) != 0);
+ <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2538908">bstrcpy</a></code>(aaa, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo"));
+ <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2538908">bstrcpy</a></code>(bbb, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("bar"));
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a></code>(aaa, bbb) != 0);
 
- <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2376472">bstrcpy</a></code>(bbb, aaa);
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a></code>(aaa, bbb) == 0);
+ <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2538908">bstrcpy</a></code>(bbb, aaa);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a></code>(aaa, bbb) == 0);
         return 0;
 }
 </pre>
 </div>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a name="boost.cts.bstrncpy_id2566178"></a>bstrncpy(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* dst, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* src, size_t num);</pre>
+<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a name="boost.cts.bstrncpy_id2521418"></a>bstrncpy(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* dst, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* src, size_t num);</pre>
 <p>This function copies the first <code class="computeroutput">num</code> characters from <code class="computeroutput">src</code> into <code class="computeroutput">dst</code> and returns <code class="computeroutput">dst</code>.
                 If the end of <code class="computeroutput">src</code> is found before <code class="computeroutput">num</code> characters are copied, <code class="computeroutput">dst</code> is padded with null characters
                 until the count of modified characters reaches <code class="computeroutput">num</code>. If <code class="computeroutput">num</code> is less or equal to the length of <code class="computeroutput">src</code>,
@@ -246,16 +246,16 @@
         <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> aaa[size];
         <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> bbb[size];
 
- <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2566178">bstrncpy</a></code>(aaa, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo"), size);
- <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2566178">bstrncpy</a></code>(bbb, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("bar"), size);
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a></code>(aaa, bbb) != 0);
+ <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2521418">bstrncpy</a></code>(aaa, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo"), size);
+ <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2521418">bstrncpy</a></code>(bbb, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("bar"), size);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a></code>(aaa, bbb) != 0);
 
- <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2566178">bstrncpy</a></code>(bbb, aaa, size);
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a></code>(aaa, bbb) == 0);
+ <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2521418">bstrncpy</a></code>(bbb, aaa, size);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a></code>(aaa, bbb) == 0);
 
- <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2566178">bstrncpy</a></code>(bbb, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foobar"), size);
+ <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2521418">bstrncpy</a></code>(bbb, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foobar"), size);
         bbb[size-1] = <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>('\0');
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2441845">bstrcmp</a></code>(aaa, bbb) == 0); return 0;
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2395724">bstrcmp</a></code>(aaa, bbb) == 0); return 0;
 }
 </pre>
 </div>

Modified: sandbox/mirror/doc/html/doc_HTML.manifest
==============================================================================
--- sandbox/mirror/doc/html/doc_HTML.manifest (original)
+++ sandbox/mirror/doc/html/doc_HTML.manifest 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -3,6 +3,7 @@
 libraries.html
 mirror.html
 mirror/tutorial.html
+mirror/concepts.html
 mirror/reference.html
 boost/mirror/meta_namespace.html
 BOOST_MIRROR_REG_NAMESPACE.html
@@ -25,7 +26,7 @@
 BOOST_MIRRORED_TYPEOF.html
 boost/mirror/meta_class.html
 BOOST_MIRRORED_CLASS.html
-boost/mirror/meta_attribute.html
+boost/mirror/meta_class_attribute.html
 boost/mirror/meta_class_attributes.html
 boost/mirror/meta_class_all_attributes.html
 boost/mirror/meta_inheritance.html
@@ -33,8 +34,10 @@
 boost/mirror/reflects_global_scope.html
 boost/mirror/reflects_type.html
 boost/mirror/reflects_class.html
+boost/mirror/reflects_attribute.html
 boost/mirror/reflects_inheritance.html
 boost/mirror/reflects_virtual_inheritance.html
+mirror/examples.html
 mirror/rationale.html
 char_type_switch.html
 char_type_switch/reference.html

Modified: sandbox/mirror/doc/html/index.html
==============================================================================
--- sandbox/mirror/doc/html/index.html (original)
+++ sandbox/mirror/doc/html/index.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -21,7 +21,7 @@
 <div class="book" lang="en">
 <div class="titlepage">
 <div><div><h1 class="title">
-<a name="id2448166"></a>The Mirror library documentation</h1></div></div>
+<a name="id2426467"></a>The Mirror library documentation</h1></div></div>
 <hr>
 </div>
 <div class="toc">

Modified: sandbox/mirror/doc/html/libraries.html
==============================================================================
--- sandbox/mirror/doc/html/libraries.html (original)
+++ sandbox/mirror/doc/html/libraries.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -32,7 +32,9 @@
 <dd><dl>
 <dt><span class="section">Introduction</span></dt>
 <dt><span class="section">Tutorial</span></dt>
+<dt><span class="section">Concepts</span></dt>
 <dt><span class="section">Mirror Reference</span></dt>
+<dt><span class="section">Examples</span></dt>
 <dt><span class="section">Rationale</span></dt>
 </dl></dd>
 <dt><span class="chapter">2. Char Type Switch</span></dt>

Modified: sandbox/mirror/doc/html/mirror.html
==============================================================================
--- sandbox/mirror/doc/html/mirror.html (original)
+++ sandbox/mirror/doc/html/mirror.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -34,7 +34,7 @@
 </div></div>
 <div><p class="copyright">Copyright © 2008 Matú&#353; Chochlík</p></div>
 <div><div class="legalnotice">
-<a name="id2622985"></a><p>Use, modification and distribution is subject to the Boost
+<a name="id2590806"></a><p>Use, modification and distribution is subject to the Boost
                         Software License, Version 1.0. (See accompanying file
                         <code class="filename">LICENSE_1_0.txt</code> or copy at http://www.boost.org/LICENSE_1_0.txt)
                         </p>
@@ -49,13 +49,29 @@
 <dt><span class="section">Motivation</span></dt>
 </dl></dd>
 <dt><span class="section">Tutorial</span></dt>
+<dt><span class="section">Concepts</span></dt>
+<dd><dl><dt><span class="section">MetaObject</span></dt></dl></dd>
 <dt><span class="section">Mirror Reference</span></dt>
 <dd><dl>
 <dt><span class="section">Registering</span></dt>
 <dt><span class="section">Reflecting</span></dt>
 <dt><span class="section">Meta Objects</span></dt>
 <dt><span class="section">Traits</span></dt>
-<dt><span class="section">Header files</span></dt>
+<dt><span class="section">Intrinsic Metafunctions</span></dt>
+<dt><span class="section">Algorithms</span></dt>
+<dt><span class="section">Traversals</span></dt>
+<dt><span class="section">Header files</span></dt>
+</dl></dd>
+<dt><span class="section">Examples</span></dt>
+<dd><dl>
+<dt><span class="section">Registering</span></dt>
+<dt><span class="section">Reflection</span></dt>
+<dt><span class="section">Meta object usage</span></dt>
+<dt><span class="section">Trait templates usage</span></dt>
+<dt><span class="section">Meta object containers</span></dt>
+<dt><span class="section">Algorithms</span></dt>
+<dt><span class="section">Traversals</span></dt>
+<dt><span class="section">All examples</span></dt>
 </dl></dd>
 <dt><span class="section">Rationale</span></dt>
 </dl>

Added: sandbox/mirror/doc/html/mirror/concepts.html
==============================================================================
--- (empty file)
+++ sandbox/mirror/doc/html/mirror/concepts.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concepts</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../index.html" title="The Mirror library documentation">
+<link rel="up" href="../mirror.html" title="Chapter 1. Mirror">
+<link rel="prev" href="tutorial.html" title="Tutorial">
+<link rel="next" href="reference.html" title="Mirror Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="mirror.concepts"></a>Concepts</h2></div></div></div>
+<div class="toc"><dl><dt><span class="section">MetaObject</span></dt></dl></div>
+<p>
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="mirror.concepts.meta_object"></a>MetaObject</h3></div></div></div>
+<p>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2008 Matú&#353; Chochlík<p>Use, modification and distribution is subject to the Boost
+ Software License, Version 1.0. (See accompanying file
+ <code class="filename">LICENSE_1_0.txt</code> or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/mirror/doc/html/mirror/examples.html
==============================================================================
--- (empty file)
+++ sandbox/mirror/doc/html/mirror/examples.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -0,0 +1,175 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Examples</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../index.html" title="The Mirror library documentation">
+<link rel="up" href="../mirror.html" title="Chapter 1. Mirror">
+<link rel="prev" href="../boost/mirror/reflects_virtual_inheritance.html" title="Class template reflects_virtual_inheritance">
+<link rel="next" href="rationale.html" title="Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../boost/mirror/reflects_virtual_inheritance.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="mirror.examples"></a>Examples</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Registering</span></dt>
+<dt><span class="section">Reflection</span></dt>
+<dt><span class="section">Meta object usage</span></dt>
+<dt><span class="section">Trait templates usage</span></dt>
+<dt><span class="section">Meta object containers</span></dt>
+<dt><span class="section">Algorithms</span></dt>
+<dt><span class="section">Traversals</span></dt>
+<dt><span class="section">All examples</span></dt>
+</dl></div>
+<p>This section contains most of the examples that are scattered around the docs, in an organized fashion. The following subsections focus on the distinct tasks, like registering, reflection, meta object usage, etc., and provide links with short descriptions for quick access to the examples.
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="mirror.examples.registering"></a>Registering</h3></div></div></div>
+<p>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="mirror.examples.reflection"></a>Reflection</h3></div></div></div>
+<p>The following table shows the list of examples showing the use of the <a class="link" href="reference.html#mirror.reference.reflecting" title="Reflecting">reflection macros</a>.
+ </p>
+<div class="table">
+<a name="id2614070"></a><p class="title"><b>Table 1.5. Reflection examples</b></p>
+<div class="table-contents"><table class="table" summary="Reflection examples">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Example</th>
+<th>Notes</th>
+</tr></thead>
+<tbody><tr>
+<td><a class="link" href="examples.html#mirror.examples.refl_namespaces_01" title="Reflecting namespaces - example 1">Namespace reflection - 1</a></td>
+<td>Simple example showing reflection of the pre-registered namespaces. </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="mirror.examples.meta_objects"></a>Meta object usage</h3></div></div></div>
+<p>Examples listed in the following table are related to the usage of the templates modelling the <a class="link" href="concepts.html#mirror.concepts.meta_object" title="MetaObject">MetaObject</a> concept.
+ </p>
+<div class="table">
+<a name="id2614142"></a><p class="title"><b>Table 1.6. Reflection examples</b></p>
+<div class="table-contents"><table class="table" summary="Reflection examples">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Example</th>
+<th>Notes</th>
+</tr></thead>
+<tbody><tr>
+<td><a class="link" href="examples.html#mirror.examples.refl_namespaces_01" title="Reflecting namespaces - example 1">Namespace reflection - 1</a></td>
+<td>Simple example showing the use of <code class="computeroutput"><a class="link" href="../boost/mirror/meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>'s name getters. </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="mirror.examples.traits"></a>Trait templates usage</h3></div></div></div>
+<p>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="mirror.examples.meta_object_containers"></a>Meta object containers</h3></div></div></div>
+<p>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="mirror.examples.algorithms"></a>Algorithms</h3></div></div></div>
+<p>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="mirror.examples.traversals"></a>Traversals</h3></div></div></div>
+<p>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="mirror.examples.all"></a>All examples</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section">Reflecting namespaces - example 1</span></dt></dl></div>
+<p>
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="mirror.examples.refl_namespaces_01"></a>Reflecting namespaces - example 1</h4></div></div></div>
+<p>This example shows how to use the namespace <a class="link" href="reference.html#mirror.reference.reflecting" title="Reflecting">reflection macros</a>
+to get an instantiation of the <code class="computeroutput"><a class="link" href="../boost/mirror/meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code> template, that provides meta-information
+about a namespace and the basic usage of the <code class="computeroutput"><a class="link" href="../boost/mirror/meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code> template.
+In this example only the namespaces that are pre-registered by <a class="link" href="../mirror.html" title="Chapter 1. Mirror">Mirror</a> are reflected.
+See <a class="xref" href="examples.html#mirror.examples.registering" title="Registering">the section called &#8220;Registering&#8221;</a> to find out more about namespace registering.
+
+</p>
+<pre class="programlisting">
+#include &lt;boost/char_type_switch/iostream.hpp&gt;
+#include &lt;boost/mirror/meta_namespace.hpp&gt;
+
+int main(void)
+{
+ using namespace ::std;
+ using namespace ::boost;
+ using namespace ::boost::mirror;
+ cts::bostream&amp; bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2426269">bcout</a></code>();
+
+ // several namespaces are pre-registered
+ bcout &lt;&lt; <code class="computeroutput"><a class="link" href="../BOOST_MIRRORED_GLOBAL_SCOPE.html" title="Macro BOOST_MIRRORED_GLOBAL_SCOPE">BOOST_MIRRORED_GLOBAL_SCOPE</a></code>() ::base_name() &lt;&lt; endl;
+ bcout &lt;&lt; <code class="computeroutput"><a class="link" href="../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code>(::std) ::base_name() &lt;&lt; endl;
+ bcout &lt;&lt; <code class="computeroutput"><a class="link" href="../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code>(::boost) ::base_name() &lt;&lt; endl;
+ bcout &lt;&lt; <code class="computeroutput"><a class="link" href="../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code>(::boost::mirror) ::base_name() &lt;&lt; endl;
+ //
+ bcout &lt;&lt; <code class="computeroutput"><a class="link" href="../BOOST_MIRRORED_GLOBAL_SCOPE.html" title="Macro BOOST_MIRRORED_GLOBAL_SCOPE">BOOST_MIRRORED_GLOBAL_SCOPE</a></code>() ::full_name() &lt;&lt; endl;
+ bcout &lt;&lt; <code class="computeroutput"><a class="link" href="../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code>(::std) ::full_name() &lt;&lt; endl;
+ bcout &lt;&lt; <code class="computeroutput"><a class="link" href="../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code>(::boost) ::full_name() &lt;&lt; endl;
+ bcout &lt;&lt; <code class="computeroutput"><a class="link" href="../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code>(::boost::mirror) ::full_name() &lt;&lt; endl;
+
+ return 0;
+}
+</pre>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2008 Matú&#353; Chochlík<p>Use, modification and distribution is subject to the Boost
+ Software License, Version 1.0. (See accompanying file
+ <code class="filename">LICENSE_1_0.txt</code> or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../boost/mirror/reflects_virtual_inheritance.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/mirror/doc/html/mirror/rationale.html
==============================================================================
--- sandbox/mirror/doc/html/mirror/rationale.html (original)
+++ sandbox/mirror/doc/html/mirror/rationale.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../index.html" title="The Mirror library documentation">
 <link rel="up" href="../mirror.html" title="Chapter 1. Mirror">
-<link rel="prev" href="../boost/mirror/reflects_virtual_inheritance.html" title="Class template reflects_virtual_inheritance">
+<link rel="prev" href="examples.html" title="Examples">
 <link rel="next" href="../char_type_switch.html" title="Chapter 2. Char Type Switch">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../boost/mirror/reflects_virtual_inheritance.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../char_type_switch.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="examples.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../char_type_switch.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -38,7 +38,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../boost/mirror/reflects_virtual_inheritance.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../char_type_switch.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="examples.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../char_type_switch.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/mirror/doc/html/mirror/reference.html
==============================================================================
--- sandbox/mirror/doc/html/mirror/reference.html (original)
+++ sandbox/mirror/doc/html/mirror/reference.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../index.html" title="The Mirror library documentation">
 <link rel="up" href="../mirror.html" title="Chapter 1. Mirror">
-<link rel="prev" href="tutorial.html" title="Tutorial">
+<link rel="prev" href="concepts.html" title="Concepts">
 <link rel="next" href="../boost/mirror/meta_namespace.html" title="Class template meta_namespace">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="tutorial.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../boost/mirror/meta_namespace.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="concepts.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../boost/mirror/meta_namespace.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -30,7 +30,10 @@
 <dt><span class="section">Reflecting</span></dt>
 <dt><span class="section">Meta Objects</span></dt>
 <dt><span class="section">Traits</span></dt>
-<dt><span class="section">Header files</span></dt>
+<dt><span class="section">Intrinsic Metafunctions</span></dt>
+<dt><span class="section">Algorithms</span></dt>
+<dt><span class="section">Traversals</span></dt>
+<dt><span class="section">Header files</span></dt>
 </dl></div>
 <p>
         </p>
@@ -55,7 +58,7 @@
                 As a general rule of the thumb these macros should be used in the <code class="computeroutput">boost::mirror</code> namespace.
                 </p>
 <div class="table">
-<a name="id2585542"></a><p class="title"><b>Table 1.1. Registering macros</b></p>
+<a name="id2553429"></a><p class="title"><b>Table 1.1. Registering macros</b></p>
 <div class="table-contents"><table class="table" summary="Registering macros">
 <colgroup>
 <col>
@@ -127,7 +130,7 @@
                 the individual macros.
                 </p>
 <div class="table">
-<a name="id2632537"></a><p class="title"><b>Table 1.2. Reflection macros</b></p>
+<a name="id2600446"></a><p class="title"><b>Table 1.2. Reflection macros</b></p>
 <div class="table-contents"><table class="table" summary="Reflection macros">
 <colgroup>
 <col>
@@ -199,7 +202,7 @@
                 template instantiations are commonly referred to as MetaObjects. Some other MetaObjects can be accessed by applying the intrinsic meta-functions on other MetaObjects.
                 </p>
 <div class="table">
-<a name="id2632946"></a><p class="title"><b>Table 1.3. Meta objects</b></p>
+<a name="id2600855"></a><p class="title"><b>Table 1.3. Meta objects</b></p>
 <div class="table-contents"><table class="table" summary="Meta objects">
 <colgroup>
 <col>
@@ -233,30 +236,98 @@
 <td>Provides information about the access specifier, the type of inheritance (virtual vs. regular) and about the base class.</td>
 </tr>
 <tr>
-<td><code class="computeroutput"><a class="link" href="../boost/mirror/meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code></td>
+<td><code class="computeroutput"><a class="link" href="../boost/mirror/meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code></td>
 <td>Reflects a single member attribute of a class</td>
 <td>Provides information about the type and position of the attribute, its name and allows to get and set values of the attribute.</td>
 </tr>
 <tr>
 <td><code class="computeroutput"><a class="link" href="../boost/mirror/meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a></code></td>
 <td>Reflects own member attributes of a class</td>
-<td>Instantiations of <code class="computeroutput">meta_class_attributes</code> are models of the MetaObjectSequence concept and contain <code class="computeroutput"><a class="link" href="../boost/mirror/meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code>s reflecting own member attributes of a class, i.e. those defined by the class, not including the inherited ones.</td>
+<td>Instantiations of <code class="computeroutput">meta_class_attributes</code> are models of the MetaObjectSequence concept and contain <code class="computeroutput"><a class="link" href="../boost/mirror/meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>s reflecting own member attributes of a class, i.e. those defined by the class, not including the inherited ones.</td>
 </tr>
 <tr>
 <td><code class="computeroutput"><a class="link" href="../boost/mirror/meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a></code></td>
 <td>Reflects all member attributes of a class</td>
-<td>Instantiations of <code class="computeroutput">meta_class_all_attributes</code> are models of the MetaObjectSequence concept and contain <code class="computeroutput"><a class="link" href="../boost/mirror/meta_attribute.html" title="Class template meta_attribute">meta_attribute</a></code>s reflecting all member attributes of a class, including the inherited ones.</td>
+<td>Instantiations of <code class="computeroutput">meta_class_all_attributes</code> are models of the MetaObjectSequence concept and contain <code class="computeroutput"><a class="link" href="../boost/mirror/meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>s reflecting all member attributes of a class, including the inherited ones.</td>
 </tr>
 </tbody>
 </table></div>
 </div>
 <br class="table-break">
 </div>
-<div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="mirror.reference.traits"></a>Traits</h3></div></div></div></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="id2633198"></a>Header files</h3></div></div></div>
+<a name="mirror.reference.traits"></a>Traits</h3></div></div></div>
+<p>The trait templates can be used to query the properties of the MetaObjects. Each trait template inherits either from the
+ <code class="computeroutput">::boost::true_type</code> or <code class="computeroutput">::boost::false_type</code> to
+ indicate whether the inspected MetaObject has or has not the trait.
+ </p>
+<div class="table">
+<a name="id2601127"></a><p class="title"><b>Table 1.4. Traits</b></p>
+<div class="table-contents"><table class="table" summary="Traits">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>Trait template</th>
+<th>Purpose</th>
+</tr></thead>
+<tbody>
+<tr>
+<td><code class="computeroutput"><a class="link" href="../boost/mirror/reflects_namespace.html" title="Class template reflects_namespace">reflects_namespace</a></code></td>
+<td>Checks whether the given MetaObject reflects a namespace, i.e. whether it is a <code class="computeroutput"><a class="link" href="../boost/mirror/meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>. </td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a class="link" href="../boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a></code></td>
+<td>Checks whether the given MetaObject reflects the global scope, i.e. whether it is a <code class="computeroutput"><a class="link" href="../boost/mirror/meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code> specialization providing meta-information about the global scope. </td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a class="link" href="../boost/mirror/reflects_type.html" title="Class template reflects_type">reflects_type</a></code></td>
+<td>Checks whether the given MetaObject reflects a type, i.e. whether it is a <code class="computeroutput"><a class="link" href="../boost/mirror/meta_type.html" title="Class template meta_type">meta_type</a></code>. </td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a class="link" href="../boost/mirror/reflects_class.html" title="Class template reflects_class">reflects_class</a></code></td>
+<td>Checks whether the given MetaObject reflects a class, i.e. whether it is a <code class="computeroutput"><a class="link" href="../boost/mirror/meta_class.html" title="Class template meta_class">meta_class</a></code>. </td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a class="link" href="../boost/mirror/reflects_attribute.html" title="Class template reflects_attribute">reflects_attribute</a></code></td>
+<td>Checks whether the given MetaObject reflects a class member attribute, i.e. whether it is a <code class="computeroutput"><a class="link" href="../boost/mirror/meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>. </td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a class="link" href="../boost/mirror/reflects_inheritance.html" title="Class template reflects_inheritance">reflects_inheritance</a></code></td>
+<td>Checks whether the given MetaObject reflects a base class inheritance, i.e. whether it is a <code class="computeroutput"><a class="link" href="../boost/mirror/meta_inheritance.html" title="Class template meta_inheritance">meta_inheritance</a></code>. </td>
+</tr>
+<tr>
+<td><code class="computeroutput"><a class="link" href="../boost/mirror/reflects_virtual_inheritance.html" title="Class template reflects_virtual_inheritance">reflects_virtual_inheritance</a></code></td>
+<td>Checks whether the given MetaObject reflects a virtual class inheritance, i.e. whether it is a <code class="computeroutput"><a class="link" href="../boost/mirror/meta_inheritance.html" title="Class template meta_inheritance">meta_inheritance</a></code> specialization providing meta-information about a base class that is inherited virtually. </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="mirror.reference.intrinsic"></a>Intrinsic Metafunctions</h3></div></div></div>
+<p>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="mirror.reference.algorithms"></a>Algorithms</h3></div></div></div>
+<p>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="mirror.reference.traversals"></a>Traversals</h3></div></div></div>
+<p>
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id2601426"></a>Header files</h3></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section">Header <boost/mirror/meta_namespace.hpp></span></dt>
 <dt><span class="section">Header <boost/mirror/meta_type.hpp></span></dt>
@@ -267,6 +338,7 @@
 <dt><span class="section">Header <boost/mirror/traits/reflects_global_scope.hpp></span></dt>
 <dt><span class="section">Header <boost/mirror/traits/reflects_type.hpp></span></dt>
 <dt><span class="section">Header <boost/mirror/traits/reflects_class.hpp></span></dt>
+<dt><span class="section">Header <boost/mirror/traits/reflects_attribute.hpp></span></dt>
 <dt><span class="section">Header <boost/mirror/traits/reflects_inheritance.hpp></span></dt>
 <dt><span class="section">Header <boost/mirror/traits/reflects_virtual_inheritance.hpp></span></dt>
 </dl></div>
@@ -326,7 +398,7 @@
 <a name="header.boost.mirror.meta_attributes.hpp"></a>Header &lt;boost/mirror/meta_attributes.hpp&gt;</h4></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> mirror {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> unspecified&gt; <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/mirror/meta_attribute.html" title="Class template meta_attribute">meta_attribute</a>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> unspecified&gt; <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/mirror/meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a>;
     <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> unspecified&gt; <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/mirror/meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a>;
     <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> unspecified&gt; <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/mirror/meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a>;
   }
@@ -379,6 +451,15 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.mirror.traits.reflects_attribute.hpp"></a>Header &lt;boost/mirror/traits/reflects_attribute.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+ <span class="bold"><strong>namespace</strong></span> mirror {
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> MetaObject&gt; <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/mirror/reflects_attribute.html" title="Class template reflects_attribute">reflects_attribute</a>;
+ }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
 <a name="header.boost.mirror.traits.reflects_inheritance.hpp"></a>Header &lt;boost/mirror/traits/reflects_inheritance.hpp&gt;</h4></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> mirror {
@@ -407,7 +488,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="tutorial.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../boost/mirror/meta_namespace.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="concepts.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../boost/mirror/meta_namespace.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/mirror/doc/html/mirror/tutorial.html
==============================================================================
--- sandbox/mirror/doc/html/mirror/tutorial.html (original)
+++ sandbox/mirror/doc/html/mirror/tutorial.html 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -7,7 +7,7 @@
 <link rel="start" href="../index.html" title="The Mirror library documentation">
 <link rel="up" href="../mirror.html" title="Chapter 1. Mirror">
 <link rel="prev" href="../mirror.html" title="Chapter 1. Mirror">
-<link rel="next" href="reference.html" title="Mirror Reference">
+<link rel="next" href="concepts.html" title="Concepts">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../mirror.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../mirror.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="concepts.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -38,7 +38,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../mirror.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../mirror.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mirror.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="concepts.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/mirror/libs/mirror/doc/concepts.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/concepts.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -0,0 +1,21 @@
+<?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.concepts"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+>
+ <title>Concepts</title>
+
+ <using-namespace name="boost"/>
+ <using-namespace name="boost::mirror"/>
+
+ <para>
+ </para>
+
+ <section id="mirror.concepts.meta_object">
+ <title>MetaObject</title>
+ <para>
+ </para>
+ </section>
+
+</section>

Added: sandbox/mirror/libs/mirror/doc/examples.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/examples.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -0,0 +1,83 @@
+<?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.examples"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+>
+ <title>Examples</title>
+
+ <using-namespace name="boost"/>
+ <using-namespace name="boost::mirror"/>
+
+ <para>This section contains most of the examples that are scattered around the docs, in an organized fashion. The following subsections focus on the distinct tasks, like registering, reflection, meta object usage, etc., and provide links with short descriptions for quick access to the examples.
+ </para>
+ <section id="mirror.examples.registering">
+ <title>Registering</title>
+ <para>
+ </para>
+ </section>
+ <section id="mirror.examples.reflection">
+ <title>Reflection</title>
+ <para>The following table shows the list of examples showing the use of the <link linkend="mirror.reference.reflecting">reflection macros</link>.
+ </para>
+ <table frame="all"><title>Reflection examples</title>
+ <tgroup cols="2">
+ <thead>
+ <row> <entry>Example</entry> <entry>Notes</entry> </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><link linkend="mirror.examples.refl_namespaces_01">Namespace reflection - 1</link></entry>
+ <entry>Simple example showing reflection of the pre-registered namespaces. </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ </section>
+ <section id="mirror.examples.meta_objects">
+ <title>Meta object usage</title>
+ <para>Examples listed in the following table are related to the usage of the templates modelling the <link linkend="mirror.concepts.meta_object">MetaObject</link> concept.
+ </para>
+ <table frame="all"><title>Reflection examples</title>
+ <tgroup cols="2">
+ <thead>
+ <row> <entry>Example</entry> <entry>Notes</entry> </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><link linkend="mirror.examples.refl_namespaces_01">Namespace reflection - 1</link></entry>
+ <entry>Simple example showing the use of <code><classname>meta_namespace</classname></code>'s name getters. </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ <section id="mirror.examples.traits">
+ <title>Trait templates usage</title>
+ <para>
+ </para>
+ </section>
+ <section id="mirror.examples.meta_object_containers">
+ <title>Meta object containers</title>
+ <para>
+ </para>
+ </section>
+ <section id="mirror.examples.algorithms">
+ <title>Algorithms</title>
+ <para>
+ </para>
+ </section>
+ <section id="mirror.examples.traversals">
+ <title>Traversals</title>
+ <para>
+ </para>
+ </section>
+ <section id="mirror.examples.all">
+ <title>All examples</title>
+ <para>
+ </para>
+ <xi:include href="examples/refl_namespaces_01.xml"/>
+ </section>
+
+</section>

Added: sandbox/mirror/libs/mirror/doc/examples/refl_namespaces_01.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/examples/refl_namespaces_01.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -0,0 +1,20 @@
+<?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.examples.refl_namespaces_01"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+>
+<using-namespace name="boost::mirror"/>
+<using-namespace name="boost::cts"/>
+
+<title>Reflecting namespaces - example 1</title>
+<para>This example shows how to use the namespace <link linkend="mirror.reference.reflecting">reflection macros</link>
+to get an instantiation of the <code><classname>meta_namespace</classname></code> template, that provides meta-information
+about a namespace and the basic usage of the <code><classname>meta_namespace</classname></code> template.
+In this example only the namespaces that are pre-registered by <libraryname>Mirror</libraryname> are reflected.
+See <xref linkend="mirror.examples.registering"/> to find out more about namespace registering.
+
+</para>
+<xi:include href="../samples/usage_meta_namespace_01.xml"/>
+</section>
+

Modified: sandbox/mirror/libs/mirror/doc/mirror.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/mirror.xml (original)
+++ sandbox/mirror/libs/mirror/doc/mirror.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -41,7 +41,9 @@
 
         <xi:include href="introduction.xml"/>
         <xi:include href="tutorial.xml"/>
+ <xi:include href="concepts.xml"/>
         <xi:include href="reference.xml"/>
+ <xi:include href="examples.xml"/>
         <xi:include href="rationale.xml"/>
 
 </library>

Modified: sandbox/mirror/libs/mirror/doc/reference.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -177,26 +177,85 @@
                                 <entry>Provides information about the access specifier, the type of inheritance (virtual vs. regular) and about the base class.</entry>
                         </row>
                         <row>
- <entry><code><classname>meta_attribute</classname></code></entry>
+ <entry><code><classname>meta_class_attribute</classname></code></entry>
                                 <entry>Reflects a single member attribute of a class</entry>
                                 <entry>Provides information about the type and position of the attribute, its name and allows to get and set values of the attribute.</entry>
                         </row>
                         <row>
                                 <entry><code><classname>meta_class_attributes</classname></code></entry>
                                 <entry>Reflects own member attributes of a class</entry>
- <entry>Instantiations of <code>meta_class_attributes</code> are models of the MetaObjectSequence concept and contain <code><classname>meta_attribute</classname></code>s reflecting own member attributes of a class, i.e. those defined by the class, not including the inherited ones.</entry>
+ <entry>Instantiations of <code>meta_class_attributes</code> are models of the MetaObjectSequence concept and contain <code><classname>meta_class_attribute</classname></code>s reflecting own member attributes of a class, i.e. those defined by the class, not including the inherited ones.</entry>
                         </row>
                         <row>
                                 <entry><code><classname>meta_class_all_attributes</classname></code></entry>
                                 <entry>Reflects all member attributes of a class</entry>
- <entry>Instantiations of <code>meta_class_all_attributes</code> are models of the MetaObjectSequence concept and contain <code><classname>meta_attribute</classname></code>s reflecting all member attributes of a class, including the inherited ones.</entry>
+ <entry>Instantiations of <code>meta_class_all_attributes</code> are models of the MetaObjectSequence concept and contain <code><classname>meta_class_attribute</classname></code>s reflecting all member attributes of a class, including the inherited ones.</entry>
                         </row>
                 </tbody>
                 </tgroup>
                 </table>
         </section>
         <section id="mirror.reference.traits">
+ <using-namespace name="boost"/>
+ <using-namespace name="boost::mirror"/>
                 <title>Traits</title>
+ <para>The trait templates can be used to query the properties of the MetaObjects. Each trait template inherits either from the
+ <code>::boost::<classname>true_type</classname></code> or <code>::boost::<classname>false_type</classname></code> to
+ indicate whether the inspected MetaObject has or has not the trait.
+ </para>
+ <table frame="all"><title>Traits</title>
+ <tgroup cols="2">
+ <thead>
+ <row> <entry>Trait template</entry> <entry>Purpose</entry> </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><code><classname>reflects_namespace</classname></code></entry>
+ <entry>Checks whether the given MetaObject reflects a namespace, i.e. whether it is a <code><classname>meta_namespace</classname></code>. </entry>
+ </row>
+ <row>
+ <entry><code><classname>reflects_global_scope</classname></code></entry>
+ <entry>Checks whether the given MetaObject reflects the global scope, i.e. whether it is a <code><classname>meta_namespace</classname></code> specialization providing meta-information about the global scope. </entry>
+ </row>
+ <row>
+ <entry><code><classname>reflects_type</classname></code></entry>
+ <entry>Checks whether the given MetaObject reflects a type, i.e. whether it is a <code><classname>meta_type</classname></code>. </entry>
+ </row>
+ <row>
+ <entry><code><classname>reflects_class</classname></code></entry>
+ <entry>Checks whether the given MetaObject reflects a class, i.e. whether it is a <code><classname>meta_class</classname></code>. </entry>
+ </row>
+ <row>
+ <entry><code><classname>reflects_attribute</classname></code></entry>
+ <entry>Checks whether the given MetaObject reflects a class member attribute, i.e. whether it is a <code><classname>meta_class_attribute</classname></code>. </entry>
+ </row>
+ <row>
+ <entry><code><classname>reflects_inheritance</classname></code></entry>
+ <entry>Checks whether the given MetaObject reflects a base class inheritance, i.e. whether it is a <code><classname>meta_inheritance</classname></code>. </entry>
+ </row>
+ <row>
+ <entry><code><classname>reflects_virtual_inheritance</classname></code></entry>
+ <entry>Checks whether the given MetaObject reflects a virtual class inheritance, i.e. whether it is a <code><classname>meta_inheritance</classname></code> specialization providing meta-information about a base class that is inherited virtually. </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ </section>
+ <section id="mirror.reference.intrinsic">
+ <title>Intrinsic Metafunctions</title>
+ <para>
+ </para>
+ </section>
+ <section id="mirror.reference.algorithms">
+ <title>Algorithms</title>
+ <para>
+ </para>
+ </section>
+ <section id="mirror.reference.traversals">
+ <title>Traversals</title>
+ <para>
+ </para>
         </section>
         <section>
                 <title>Header files</title>
@@ -213,6 +272,8 @@
                 <xi:include href="reference/traits/reflects_type.xml"/>
                 <xi:include href="reference/traits/reflects_class.xml"/>
 
+ <xi:include href="reference/traits/reflects_attribute.xml"/>
+
                 <xi:include href="reference/traits/reflects_inheritance.xml"/>
                 <xi:include href="reference/traits/reflects_virtual_inheritance.xml"/>
         </section>

Deleted: sandbox/mirror/libs/mirror/doc/reference/class_meta_attribute.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference/class_meta_attribute.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
+++ (empty file)
@@ -1,277 +0,0 @@
-<?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">
-<class name="meta_attribute"
- xmlns:xi="http://www.w3.org/2001/XInclude"
->
- <template>
- <template-type-parameter name="unspecified"/>
- </template>
- <purpose>
- <para>This class template reflects one individual attribute of a class. The
- <code><classname>meta_attribute</classname></code> template should not be instantiated
- directly, meta-attributes are obtained only as results of introspection operations on
- <code><classname>meta_class_attributes</classname></code> and
- <code><classname>meta_class_all_attributes</classname></code>.
- </para>
- </purpose>
- <description>
- <para>This template allows to get both compile-time and run-time meta-data about
- the member attribute of a class. At compile time the scope, position, type and several other traits of the attribute
- can be inspected. At run-time one can get the base and full name of the attribute and to generically get and set its value.
- </para>
- <section id="mirror.meta_attribute.reference.samples">
- <section id="mirror.meta_attribute.reference.sample01">
- <title>Example - Basic usage</title>
- <para>
- </para>
- <!--
- <xi:include href="../samples/usage_meta_attribute_01.xml"/>
- -->
- </section>
- </section>
- </description>
-
- <access name="public">
- <typedef name="scope">
- <type><classname>meta_class</classname>&lt;<emphasis>unspecified</emphasis>&gt;</type>
- <description>
- <para>Meta-class describing the scope where the reflected attribute is defined.
- The scope is the class that the reflected attribute belongs to.
- </para>
- </description>
- </typedef>
- <typedef name="container">
- <type><classname>meta_class_attributes</classname>&lt;<emphasis>unspecified</emphasis>&gt;-or-<classname>meta_class_all_attributes</classname>&lt;<emphasis>unspecified</emphasis>&gt;</type>
- <description>
- <para>The meta-attribute-sequence containing this <code><classname>meta_attribute</classname></code>.
- It is the container that the <code><classname>meta_attribute</classname></code> belongs to.
- It can be either the "own" class' attributes -
- <code><classname>meta_class</classname>&lt;<emphasis>unspecified</emphasis>&gt;::attributes</code>
- or all class attributes including the inherited ones -
- <code><classname>meta_class</classname>&lt;<emphasis>unspecified</emphasis>&gt;::all_attributes</code>.
- </para>
- </description>
- </typedef>
- <typedef name="meta_attributes">
- <type>container</type>
- <description>
- <para>This is an alias for the <code>container</code> typedef.
- </para>
- </description>
- </typedef>
- <typedef name="position">
- <type>mpl::int_&lt;<emphasis>unspecified</emphasis>&gt;</type>
- <description>
- <para>This member is an instantiation of the <code>::boost::mpl::int_&lt;N&gt;</code>
- template and specifies the position of the <code><classname>meta_attribute</classname></code>
- in the <code>container</code>.
- </para>
- </description>
- </typedef>
- <typedef name="type">
- <type><emphasis>unspecified</emphasis></type>
- <description>
- <para>The type of the reflected attribute.
- </para>
- </description>
- </typedef>
- <typedef name="typedef_or_type">
- <type><emphasis>unspecified</emphasis></type>
- <description>
- <para>This type should be used to reflect the type of the attribute (to get a <code><classname>meta_type</classname></code>
- or a <code><classname>meta_class</classname></code> that reflects the type of the attribute), because it allows
- to distinguish <code>typedef</code>ined types.
- </para>
- </description>
- </typedef>
- <typedef name="traits">
- <type><classname>meta_class_attribute_traits</classname>&lt;<emphasis>unspecified</emphasis>&gt;</type>
- <description>
- <para>Additional traits of the attribute, like storage class specifiers, etc.
- See the documentation of <code><classname>meta_class_attribute_traits</classname></code> for more details.
- </para>
- </description>
- </typedef>
- <method name="base_name">
- <type>const cts::<classname>bstring</classname>&amp;</type>
- <purpose>
- <para>This static member function returns the base name of the
- attribute reflected by the <code><classname>meta_attribute</classname></code>.
- When a full attribute name
- <emphasis role="bold">including</emphasis> the class name, that the
- reflected member attribute belongs to,
- is needed use the <methodname>full_name</methodname> member function
- instead.</para>
- </purpose>
- </method>
- <method name="full_name">
- <type>const cts::<classname>bstring</classname>&amp;</type>
- <purpose>
- <para>This static member function returns the full name of the
- attribute reflected by the <code><classname>meta_attribute</classname></code>
- including the full name of the class that the attribute belongs to. For example:
-<programlisting>
-typedef ::std::pair&lt;int, double&gt; pair;
-// reflect the class
-typedef <macroname>BOOST_MIRRORED_CLASS</macroname>(pair) meta_pair;
-// get the attributes container
-typedef meta_pair::attributes meta_pair_attribs;
-// get the individual meta-attributes
-typedef <classname>at</classname>&lt;meta_pair_attribs, mpl::int_&lt;0&gt; &gt;::type meta_pair_first;
-// get the full name
-meta_pair_first::full_name();
-</programlisting>
- returns <code>"::std::pair&lt; int, double &gt;::first"</code>. When the base attribute name
- <emphasis role="bold">without</emphasis> the full class name
- is needed use the <methodname>base_name</methodname> member function
- instead.</para>
- </purpose>
- <notes>
- <para>The first call to this function can be expensive
- for attributes of deeply nested classes, because the name needs to be properly composed from
- the class name and namespace names, which may
- lead to multiple string concatenations. Subsequent calls to this member function
- for a concrete specialization of <classname>meta_attribute</classname>
- are usually much faster.
- </para>
- </notes>
- </method>
- <method name="get_name">
- <template>
- <template-nontype-parameter name="FullName">
- <type>bool</type>
- </template-nontype-parameter>
- <template-type-parameter name="CharT"/>
- </template>
- <type>const ::std::basic_string&lt;CharT&gt;&amp;</type>
- <parameter name="full">
- <paramtype>::boost::mpl::bool_&lt;FullName&gt;</paramtype>
- </parameter>
- <parameter name="cht">
- <paramtype>::std::char_traits&lt;CharT&gt;</paramtype>
- </parameter>
- <purpose>
- <para>This static member template function returns either the base name
- or the full name of the attribute reflected by this
- <code><classname>meta_attribute</classname></code>,
- depending on the value of the template argument <code>FullName</code>.
- Furthermore it allows to choose whether the return value type is
- <code>::std::string</code> or <code>::std::wstring</code> based
- on the type of the second argument.
- </para>
- </purpose>
- </method>
- <method name="get">
- <type><emphasis>unspecified</emphasis></type>
- <parameter name="instance">
- <paramtype>const typename scope::reflected_type&amp;</paramtype>
- </parameter>
- <purpose>
- <para>This static member function returns the value of the attribute reflected
- by this <code><classname>meta_attribute</classname></code> when given
- an <code>instance</code> of the class that the attribute belongs to:
-<programlisting>
-typedef ::std::pair&lt;int, double&gt; pair;
-// reflect the class
-typedef <macroname>BOOST_MIRRORED_CLASS</macroname>(pair) meta_pair;
-// get the attributes container
-typedef meta_pair::attributes meta_pair_attribs;
-// get the individual meta-attributes
-typedef <classname>at</classname>&lt;meta_pair_attribs, mpl::int_&lt;0&gt; &gt;::type meta_pair_first;
-typedef <classname>at</classname>&lt;meta_pair_attribs, mpl::int_&lt;1&gt; &gt;::type meta_pair_second;
-//
-// create an instance of the pair
-pair p(10, 20.0);
-assert(meta_pair_first::<methodname>get</methodname>(p) == p.first);
-assert(meta_pair_second::<methodname>get</methodname>(p) == p.second);
-</programlisting>
- </para>
- </purpose>
- </method>
- <method name="query">
- <template>
- <template-type-parameter name="DestType"/>
- </template>
- <type>DestType&amp;</type>
- <parameter name="instance">
- <paramtype>const typename scope::reflected_type&amp;</paramtype>
- </parameter>
- <parameter name="destination">
- <paramtype>DestType&amp;</paramtype>
- </parameter>
- <purpose>
- <para>This static member function assigns the value of the attribute reflected
- by this <code><classname>meta_attribute</classname></code> (when given
- an <code>instance</code> of the class that the attribute belongs to),
- to <code>destination</code> and returns <code>destination</code>. The <code>DestType</code>
- type must be assignable with the <code>type</code> of the attribute:
-<programlisting>
-typedef ::std::pair&lt;int, float&gt; pair;
-// reflect the class
-typedef <macroname>BOOST_MIRRORED_CLASS</macroname>(pair) meta_pair;
-// get the attributes container
-typedef meta_pair::attributes meta_pair_attribs;
-// get the individual meta-attributes
-typedef <classname>at</classname>&lt;meta_pair_attribs, mpl::int_&lt;0&gt; &gt;::type meta_pair_first;
-typedef <classname>at</classname>&lt;meta_pair_attribs, mpl::int_&lt;1&gt; &gt;::type meta_pair_second;
-//
-// create an instance of the pair
-pair p(10, 20.0f);
-// and two other variables
-long first = 30;
-float second = 40.0f;
-// query the values and check them
-assert(meta_pair_first::<methodname>query</methodname>(p, first) == 10);
-assert(meta_pair_second::<methodname>query</methodname>(p, second) == 20.0f);
-// and double check the variables
-assert(first == p.first);
-assert(second == p.second);
-</programlisting>
- </para>
- </purpose>
- </method>
- <method name="set">
- <type>void</type>
- <parameter name="instance">
- <paramtype>const typename scope::reflected_type&amp;</paramtype>
- </parameter>
- <parameter name="value">
- <paramtype>type</paramtype>
- </parameter>
- <purpose>
- <para>This static member function assigns the given value to the attribute reflected
- by this <code><classname>meta_attribute</classname></code> when given
- an <code>instance</code> of the class that the attribute belongs to:
-<programlisting>
-typedef ::std::pair&lt;int, float&gt; pair;
-// reflect the class
-typedef <macroname>BOOST_MIRRORED_CLASS</macroname>(pair) meta_pair;
-// get the attributes container
-typedef meta_pair::attributes meta_pair_attribs;
-// get the individual meta-attributes
-typedef <classname>at</classname>&lt;meta_pair_attribs, mpl::int_&lt;0&gt; &gt;::type meta_pair_first;
-typedef <classname>at</classname>&lt;meta_pair_attribs, mpl::int_&lt;1&gt; &gt;::type meta_pair_second;
-//
-// create an instance of the pair
-pair p(10, 20.0f);
-pair r(30, 40.0f);
-//
-assert(meta_pair_first::<methodname>get</methodname>(p) != meta_pair_first::<methodname>get</methodname>(r));
-assert(meta_pair_second::<methodname>get</methodname>(p) != meta_pair_second::<methodname>get</methodname>(r));
-// set new values
-meta_pair_first::<methodname>set</methodname>(p, meta_pair_first::<methodname>get</methodname>(r));
-meta_pair_second::<methodname>set</methodname>(p, meta_pair_second::<methodname>get</methodname>(r));
-// and check the values
-assert(meta_pair_first::<methodname>get</methodname>(p) == meta_pair_first::<methodname>get</methodname>(r));
-assert(meta_pair_second::<methodname>get</methodname>(p) == meta_pair_second::<methodname>get</methodname>(r));
-// and double check them
-assert(p.first == r.first);
-assert(p.second == r.second);
-</programlisting>
- </para>
- </purpose>
- </method>
- </access>
-</class>
-

Modified: sandbox/mirror/libs/mirror/doc/reference/class_meta_class.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference/class_meta_class.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference/class_meta_class.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -43,7 +43,7 @@
         <typedef name="attributes">
                 <type><classname>meta_class_attributes</classname>&lt;<emphasis>unspecified</emphasis>&gt;</type>
                 <description>
- <para>The container of <code><classname>meta_attribute</classname></code>s reflecting the
+ <para>The container of <code><classname>meta_class_attribute</classname></code>s reflecting the
                         "own" attributes of a class. These are the attributes that are defined directly
                         in the class reflected by this <code><classname>meta_class</classname></code>, not including
                         the attributes inherited from the base classes.
@@ -53,7 +53,7 @@
         <typedef name="all_attributes">
                 <type><classname>meta_class_all_attributes</classname>&lt;<emphasis>unspecified</emphasis>&gt;</type>
                 <description>
- <para>The container of <code><classname>meta_attribute</classname></code>s reflecting
+ <para>The container of <code><classname>meta_class_attribute</classname></code>s reflecting
                         all attributes of a class including the ones inherited from base classes.
                         </para>
                 </description>

Modified: sandbox/mirror/libs/mirror/doc/reference/class_meta_class_all_attributes.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference/class_meta_class_all_attributes.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference/class_meta_class_all_attributes.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -8,7 +8,7 @@
                 <template-type-parameter name="unspecified"/>
         </template>
         <purpose>
- <para>This class template contains the <code><classname>meta_attribute</classname></code>s
+ <para>This class template contains the <code><classname>meta_class_attribute</classname></code>s
                 reflecting the individual attributes of a class. More precisely, all attributes including the inherited ones.
                 To inspect only the "own" attributes of a class, not including the inherited ones, use the specializations
                 of the <code><classname>meta_class_attributes</classname></code> template.
@@ -18,7 +18,7 @@
                 directly, <code><classname>meta_class_all_attributes</classname></code> are obtained only as result
                        of introspection operations on <code><classname>meta_class</classname></code>.
                 </para>
- <para>The individual <code><classname>meta_attribute</classname></code>s and
+ <para>The individual <code><classname>meta_class_attribute</classname></code>s and
                 iterators pointing to them should be obtained as results
                 of the meta-object-sequence algoritms. See the examples for more details on usage of
                 <code><classname>meta_class_all_attributes</classname></code>.

Modified: sandbox/mirror/libs/mirror/doc/reference/class_meta_class_attributes.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference/class_meta_class_attributes.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference/class_meta_class_attributes.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -8,7 +8,7 @@
                 <template-type-parameter name="unspecified"/>
         </template>
         <purpose>
- <para>This class template contains the <code><classname>meta_attribute</classname></code>s
+ <para>This class template contains the <code><classname>meta_class_attribute</classname></code>s
                 reflecting the individual attributes of a class. More precisely, only those attributes,
                 that are defined in the reflected class, not including the inherited member attributes.
                 To inspect all attributes of a class use the specializations of the <code><classname>meta_class_all_attributes</classname></code>
@@ -18,7 +18,7 @@
                 directly, <code><classname>meta_class_attributes</classname></code> are obtained only as result
                        of introspection operations on <code><classname>meta_class</classname></code>.
                 </para>
- <para>The individual <code><classname>meta_attribute</classname></code>s and
+ <para>The individual <code><classname>meta_class_attribute</classname></code>s and
                 iterators pointing to them should be obtained as results
                 of the meta-object-sequence algoritms. See the examples for more details on usage of
                 <code><classname>meta_class_attributes</classname></code>.

Modified: sandbox/mirror/libs/mirror/doc/reference/class_meta_inheritance.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference/class_meta_inheritance.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference/class_meta_inheritance.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -19,8 +19,8 @@
                 the inheritance of a base class of a class.
                 </para>
 <!--
- <section id="mirror.meta_attribute.reference.samples">
- <section id="mirror.meta_attribute.reference.sample01">
+ <section id="mirror.meta_class_attribute.reference.samples">
+ <section id="mirror.meta_class_attribute.reference.sample01">
                         <title>Example - Basic usage</title>
                         <para>
                         </para>
@@ -34,8 +34,8 @@
         <typedef name="container">
                 <type><classname>meta_class_attributes</classname>&lt;<emphasis>unspecified</emphasis>&gt;-or-<classname>meta_class_all_attributes</classname>&lt;<emphasis>unspecified</emphasis>&gt;</type>
                 <description>
- <para>The meta-attribute-sequence containing this <code><classname>meta_attribute</classname></code>.
- It is the container that the <code><classname>meta_attribute</classname></code> belongs to.
+ <para>The meta-attribute-sequence containing this <code><classname>meta_class_attribute</classname></code>.
+ It is the container that the <code><classname>meta_class_attribute</classname></code> belongs to.
                         It can be either the "own" class' attributes -
                         <code><classname>meta_class</classname>&lt;<emphasis>unspecified</emphasis>&gt;::attributes</code>
                         or all class attributes including the inherited ones -

Modified: sandbox/mirror/libs/mirror/doc/reference/meta_attributes.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference/meta_attributes.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference/meta_attributes.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -9,7 +9,7 @@
         <namespace name="boost">
         <namespace name="mirror">
 
- <xi:include href="class_meta_attribute.xml"/>
+ <xi:include href="class_meta_class_attribute.xml"/>
                 <xi:include href="class_meta_class_attributes.xml"/>
                 <xi:include href="class_meta_class_all_attributes.xml"/>
 

Added: sandbox/mirror/libs/mirror/doc/reference/traits/reflects_attribute.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/reference/traits/reflects_attribute.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -0,0 +1,24 @@
+<?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">
+<header name="boost/mirror/traits/reflects_attribute.hpp">
+ <namespace name="boost">
+ <namespace name="mirror">
+ <class name="reflects_attribute">
+ <template>
+ <template-type-parameter name="MetaObject"/>
+ </template>
+ <purpose>
+ <para>If <code>MetaObject</code> is an instantiation of <code><classname>meta_attribute</classname></code>,
+ then <code><classname>reflects_attribute</classname></code>
+ inherits from <code><classname>::boost::true_type</classname></code>. Otherwise it inherits from
+ <code><classname>::boost::false_type</classname></code>.
+ </para>
+ </purpose>
+ <inherit access="public">
+ <type><classname>false_type</classname>-or-<classname>true_type</classname></type>
+ </inherit>
+ </class>
+ </namespace><!-- mirror -->
+ </namespace><!-- boost -->
+</header>

Modified: sandbox/mirror/libs/mirror/doc/reference/traits/reflects_global_scope.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference/traits/reflects_global_scope.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference/traits/reflects_global_scope.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -27,34 +27,100 @@
                                         <title>Examples</title>
 <programlisting>
 BOOST_STATIC_ASSERT((
- reflects_global_scope&lt; BOOST_MIRRORED_GLOBAL_SCOPE() &gt;::value
+ reflects_global_scope&lt; <macroname>BOOST_MIRRORED_GLOBAL_SCOPE</macroname>() &gt;::value
 ));
 </programlisting>
 <programlisting>
 BOOST_STATIC_ASSERT((
- !reflects_global_scope&lt; BOOST_MIRRORED_NAMESPACE(::boost::mirror) &gt;::value
+ !reflects_global_scope&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::boost::mirror) &gt;::value
 ));
 </programlisting>
 <programlisting>
 BOOST_STATIC_ASSERT((
- !reflects_global_scope&lt; BOOST_MIRRORED_TYPE(::std::string) &gt;::value
+ !reflects_global_scope&lt; <macroname>BOOST_MIRRORED_TYPE</macroname>(::std::string) &gt;::value
 ));
 </programlisting>
 <programlisting>
 BOOST_MPL_ASSERT((
- reflects_global_scope&lt; BOOST_MIRRORED_TYPE(int)::scope &gt;
+ reflects_global_scope&lt; <macroname>BOOST_MIRRORED_TYPE</macroname>(int)::scope &gt;
 ));
 </programlisting>
 <programlisting>
 BOOST_MPL_ASSERT((
- reflects_global_scope&lt; BOOST_MIRRORED_TYPE(::std::string)::scope::scope &gt;
+ reflects_global_scope&lt; <macroname>BOOST_MIRRORED_TYPE</macroname>(::std::string)::scope::scope &gt;
 ));
 </programlisting>
 <programlisting>
 BOOST_MPL_ASSERT_NOT((
- reflects_global_scope&lt; BOOST_MIRRORED_TYPE(::std::string)::scope &gt;
+ reflects_global_scope&lt; <macroname>BOOST_MIRRORED_TYPE</macroname>(::std::string)::scope &gt;
 ));
 </programlisting>
+ <para>The following code sample shows the registering and reflection of namespaces,
+ and the use of the <code><classname>reflects_global_scope</classname></code> trait template.
+ </para>
+
+<programlisting>
+#include &lt;boost/mirror/meta_namespace.hpp&gt;
+#include &lt;boost/mirror/traits/reflects_global_scope.hpp&gt;
+#include &lt;boost/mpl/assert.hpp&gt;
+
+
+// define some namespaces
+namespace foo {
+namespace bar {
+} // namespace bar
+} // namespace foo
+
+namespace baz {
+} // namespace baz
+
+// register them with mirror
+namespace boost {
+ namespace mirror {
+ // ::foo
+ <macroname>BOOST_MIRROR_REG_NAMESPACE</macroname>((foo))
+ // ::foo::bar
+ <macroname>BOOST_MIRROR_REG_NAMESPACE</macroname>((foo)(bar))
+ // ::baz
+ <macroname>BOOST_MIRROR_REG_NAMESPACE</macroname>((baz))
+} // namespace mirror
+} // namespace boost
+
+
+int main(void)
+{
+ using ::boost::mirror::reflects_global_scope;
+ BOOST_MPL_ASSERT_NOT((
+ reflects_global_scope&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::boost::mirror) &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_global_scope&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::boost::mirror)::scope::scope &gt;
+ ));
+ BOOST_MPL_ASSERT_NOT((
+ reflects_global_scope&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::foo) &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_global_scope&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::foo)::scope &gt;
+ ));
+ BOOST_MPL_ASSERT_NOT((
+ reflects_global_scope&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::foo::bar) &gt;
+ ));
+ BOOST_MPL_ASSERT_NOT((
+ reflects_global_scope&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::foo::bar)::scope &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_global_scope&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::foo::bar)::scope::scope &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_global_scope&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::baz)::scope &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_global_scope&lt; <macroname>BOOST_MIRRORED_GLOBAL_SCOPE</macroname>() &gt;
+ ));
+ return 0;
+}
+</programlisting>
+
                                 </section>
                         </description>
                 </class>

Modified: sandbox/mirror/libs/mirror/doc/reference/traits/reflects_namespace.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference/traits/reflects_namespace.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference/traits/reflects_namespace.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -26,34 +26,93 @@
                                         <title>Examples</title>
 <programlisting>
 BOOST_STATIC_ASSERT((
- reflects_namespace&lt; BOOST_MIRRORED_NAMESPACE(::boost::mirror) &gt;::value
+ reflects_namespace&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::boost::mirror) &gt;::value
 ));
 </programlisting>
 <programlisting>
 BOOST_STATIC_ASSERT((
- reflects_namespace&lt; BOOST_MIRRORED_TYPE(::std::string)::scope &gt;::value
+ reflects_namespace&lt; <macroname>BOOST_MIRRORED_TYPE</macroname>(::std::string)::scope &gt;::value
 ));
 </programlisting>
 <programlisting>
 BOOST_STATIC_ASSERT((
- !reflects_namespace&lt; BOOST_MIRRORED_TYPE(::std::string) &gt;::value
+ !reflects_namespace&lt; <macroname>BOOST_MIRRORED_TYPE</macroname>(::std::string) &gt;::value
 ));
 </programlisting>
 <programlisting>
 BOOST_MPL_ASSERT((
- reflects_namespace&lt; BOOST_MIRRORED_NAMESPACE(::boost::mirror) &gt;
+ reflects_namespace&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::boost::mirror) &gt;
 ));
 </programlisting>
 <programlisting>
 BOOST_MPL_ASSERT((
- reflects_namespace&lt; BOOST_MIRRORED_TYPE(::std::string)::scope &gt;
+ reflects_namespace&lt; <macroname>BOOST_MIRRORED_TYPE</macroname>(::std::string)::scope &gt;
 ));
 </programlisting>
 <programlisting>
 BOOST_MPL_ASSERT_NOT((
- reflects_namespace&lt; BOOST_MIRRORED_TYPE(::std::string) &gt;
+ reflects_namespace&lt; <macroname>BOOST_MIRRORED_TYPE</macroname>(::std::string) &gt;
 ));
 </programlisting>
+ <para>The following code sample shows the registering and reflection of namespaces,
+ and the use of the <code><classname>reflects_namespace</classname></code> trait template.
+ </para>
+
+<programlisting>
+#include &lt;boost/mirror/meta_namespace.hpp&gt;
+#include &lt;boost/mirror/traits/reflects_namespace.hpp&gt;
+#include &lt;boost/mpl/assert.hpp&gt;
+
+
+// define some namespaces
+namespace foo {
+namespace bar {
+} // namespace bar
+} // namespace foo
+
+namespace baz {
+} // namespace baz
+
+// register them with mirror
+namespace boost {
+ namespace mirror {
+ // ::foo
+ <macroname>BOOST_MIRROR_REG_NAMESPACE</macroname>((foo))
+ // ::foo::bar
+ <macroname>BOOST_MIRROR_REG_NAMESPACE</macroname>((foo)(bar))
+ // ::baz
+ <macroname>BOOST_MIRROR_REG_NAMESPACE</macroname>((baz))
+} // namespace mirror
+} // namespace boost
+
+
+int main(void)
+{
+ using ::boost::mirror::reflects_namespace;
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::boost::mirror) &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::foo) &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::foo)::scope &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::foo::bar) &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::foo::bar)::scope &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::foo::bar)::scope::scope &gt;
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_namespace&lt; <macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::baz) &gt;
+ ));
+ return 0;
+}
+</programlisting>
                                 </section>
                         </description>
                 </class>

Modified: sandbox/mirror/libs/mirror/doc/samples/usage_meta_namespace_01.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/samples/usage_meta_namespace_01.xml (original)
+++ sandbox/mirror/libs/mirror/doc/samples/usage_meta_namespace_01.xml 2008-09-27 11:32:40 EDT (Sat, 27 Sep 2008)
@@ -1,7 +1,7 @@
 <?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">
-<programlisting id="mirror.reference.sample.meta_namespace.usage01">
+<programlisting>
 #include &lt;boost/char_type_switch/iostream.hpp&gt;
 #include &lt;boost/mirror/meta_namespace.hpp&gt;
 


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