Boost logo

Boost-Commit :

From: chochlik_at_[hidden]
Date: 2008-07-21 13:22:40


Author: matus.chochlik
Date: 2008-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
New Revision: 47659
URL: http://svn.boost.org/trac/boost/changeset/47659

Log:
[mirror 0.2.x]
- Several typedefs in the meta_attribute template changed
- Minor update of documentation
Added:
   sandbox/mirror/doc/html/boost/mirror/meta_attribute.html (contents, props changed)
   sandbox/mirror/libs/mirror/doc/reference/class_meta_attribute.xml (contents, props changed)
   sandbox/mirror/libs/mirror/doc/reference/meta_attributes.xml (contents, props changed)
Text files modified:
   sandbox/mirror/boost/mirror/meta_attributes.hpp | 56 +++++++++++++++----------
   sandbox/mirror/doc/html/BOOST_MIRRORED_GLOBAL_SCOPE.html | 4
   sandbox/mirror/doc/html/BOOST_MIRRORED_NAMESPACE.html | 12 ++--
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE.html | 8 +-
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF.html | 12 ++--
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEOF.html | 4
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE_NS.html | 4
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_NAMESPACE.html | 20 ++++----
   sandbox/mirror/doc/html/boost/mirror/meta_class.html | 20 ++++----
   sandbox/mirror/doc/html/boost/mirror/meta_namespace.html | 87 ++++++++++++++++++++-------------------
   sandbox/mirror/doc/html/boost/mirror/meta_type.html | 78 +++++++++++++++++-----------------
   sandbox/mirror/doc/html/boost/mirror/reflects_class.html | 6 +-
   sandbox/mirror/doc/html/boost/mirror/reflects_global_scope.html | 8 +-
   sandbox/mirror/doc/html/boost/mirror/reflects_inheritance.html | 2
   sandbox/mirror/doc/html/boost/mirror/reflects_namespace.html | 14 +++---
   sandbox/mirror/doc/html/boost/mirror/reflects_type.html | 8 +-
   sandbox/mirror/doc/html/boost/mirror/reflects_virtual_inheritance.html | 2
   sandbox/mirror/doc/html/char_type_switch.html | 2
   sandbox/mirror/doc/html/doc_HTML.manifest | 1
   sandbox/mirror/doc/html/index.html | 2
   sandbox/mirror/doc/html/mirror.html | 14 +++---
   sandbox/mirror/doc/html/mirror/reference.html | 22 +++++++--
   sandbox/mirror/libs/mirror/doc/reference.xml | 2
   sandbox/mirror/libs/mirror/doc/reference/class_meta_namespace.xml | 9 ++-
   sandbox/mirror/libs/mirror/doc/reference/class_meta_type.xml | 6 +-
   sandbox/mirror/libs/mirror/example/registering/classes.cpp | 4 +
   sandbox/mirror/libs/mirror/example/registering/virtual_bases.cpp | 2
   27 files changed, 219 insertions(+), 190 deletions(-)

Modified: sandbox/mirror/boost/mirror/meta_attributes.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/meta_attributes.hpp (original)
+++ sandbox/mirror/boost/mirror/meta_attributes.hpp 2008-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -580,26 +580,29 @@
>
         struct meta_class_attribute
         {
- struct detail
- {
- struct result_of_get
- {
- typedef typename mpl::at<
- typename MetaAttributes::type_list,
- AttribPos
- >::type type;
-
- };
- }; // struct detail
-
+ public:
                 // the meta-class for the class to which
                 // the attribute belongs
+ // this is actually the scope of the meta-attribute
                 typedef ::boost::mirror::meta_class<ReflectedType, VariantTag>
- meta_class;
+ scope;
+ private:
+ struct result_of_get
+ {
+ typedef typename mpl::at<
+ typename MetaAttributes::type_list,
+ AttribPos
+ >::type type;
+ };
+ typedef typename scope::reflected_type
+ owner_class;
+
+ public:
 
                 // the meta-attributes list (own/all)
                 // into which the attribute belongs
                 // in this instance
+ typedef MetaAttributes container;
                 typedef MetaAttributes meta_attributes;
 
                 // the position of the meta-attribute
@@ -607,7 +610,7 @@
 
                 // the type of the attribute
                 typedef typename mpl::at<
- typename meta_attributes::type_list,
+ typename MetaAttributes::type_list,
                         position
>::type type;
 
@@ -617,11 +620,10 @@
                         return meta_attributes::base_name(position());
                 }
 
- typedef typename meta_class::reflected_type reflected_class;
-
                 // value getter
- inline static typename detail::result_of_get::type
- get(const reflected_class& instance)
+ inline static typename result_of_get::type get(
+ const typename owner_class& instance
+ )
                 {
                         return meta_attributes::get(instance, position());
                 }
@@ -629,21 +631,30 @@
                 // value query
                 template <typename DestType>
                 inline static DestType&
- query(const reflected_class& instance, DestType& dest)
+ query(
+ const typename owner_class& instance,
+ DestType& dest
+ )
                 {
                         return meta_attributes::query(instance, position(), dest);
                 }
 
                 // value setter
                 inline static void
- set(reflected_class& instance, typename call_traits<type>::param_type val)
+ set(
+ owner_class& instance,
+ typename call_traits<type>::param_type val
+ )
                 {
                         meta_attributes::set(instance, position(), val);
                 }
 
                 // value setter
                 inline static void
- set(const reflected_class& instance, typename call_traits<type>::param_type val)
+ set(
+ const owner_class& instance,
+ typename call_traits<type>::param_type val
+ )
                 {
                         meta_attributes::set(instance, position(), val);
                 }
@@ -655,8 +666,9 @@
                 )
                 typedef typename detail_traits::type traits;
                 
+ // mirror type selector
                 typedef typename traits::meta_type_selector
- type_selector;
+ typedef_or_type;
 
         };
 

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-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -27,7 +27,7 @@
 <div class="refnamediv">
 <h2><span class="refentrytitle">Macro BOOST_MIRRORED_GLOBAL_SCOPE</span></h2>
 <p>BOOST_MIRRORED_GLOBAL_SCOPE &#8212; This macro is used to reflect the global scope and expands into a specialization
- of the <code class="computeroutput"><a class="link" href="boost/mirror/meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code> template, which provides
+ of the <code class="computeroutput">meta_namespace</code> template, which provides
                 meta-data about the global scope.
                 To reflect a registered named namespace use the <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code>.
                 </p>
@@ -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="id2634425"></a><h2>Description</h2>
+<a name="id706777"></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-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -27,7 +27,7 @@
 <div class="refnamediv">
 <h2><span class="refentrytitle">Macro BOOST_MIRRORED_NAMESPACE</span></h2>
 <p>BOOST_MIRRORED_NAMESPACE &#8212; This macro is used to reflect a namespace and expands into a specialization
- of the <code class="computeroutput"><a class="link" href="boost/mirror/meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code> template, which provides
+ of the <code class="computeroutput">meta_namespace</code> template, which provides
                 meta-data about the namespace. To reflect the global scope use 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.
                 </p>
@@ -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="id2634089"></a><h2>Description</h2>
+<a name="id706622"></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>.
@@ -58,7 +58,7 @@
 <div class="titlepage"><div><div><h6 class="title">
 <a name="mirror.RFL_NAMESPACE.reference.samples"></a>Examples</h6></div></div></div>
 <p>This example shows the registering and reflection of namespaces
- and 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>
+ and basic usage of the <code class="computeroutput">meta_namespace</code>
                         template class and its members.
                         </p>
 <pre class="programlisting">
@@ -126,7 +126,7 @@
         endl &lt;&lt;
                 BOOST_CTS_LIT(" - it's defined ");
 
- if(<a class="link" href="boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt;typename MetaNamespace::scope&gt;::value)
+ if(reflects_global_scope&lt;typename MetaNamespace::scope&gt;::value)
                 bcout &lt;&lt; BOOST_CTS_LIT(" - on the global scope ");
         else
                 bcout &lt;&lt; BOOST_CTS_LIT(" - in the '") &lt;&lt;
@@ -146,13 +146,13 @@
         using namespace ::boost::mirror;
         // check the template argument
         BOOST_MPL_ASSERT((
- <a class="link" href="boost/mirror/reflects_namespace.html" title="Class template reflects_namespace">reflects_namespace</a>&lt; MetaNamespace &gt;
+ reflects_namespace&lt; MetaNamespace &gt;
         ));
 
         // call the specialized printer based on whether
         // the passed meta-namespace reflects the global
         // scope or not
- typename <a class="link" href="boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt;MetaNamespace&gt;::type
+ typename reflects_global_scope&lt;MetaNamespace&gt;::type
                 selector;
 
         do_print_meta_data&lt;MetaNamespace&gt;(selector);

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-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -27,7 +27,7 @@
 <div class="refnamediv">
 <h2><span class="refentrytitle">Macro BOOST_MIRRORED_TYPE</span></h2>
 <p>BOOST_MIRRORED_TYPE &#8212; This macro is used to reflect a type and expands into a specialization
- of the <code class="computeroutput"><a class="link" href="boost/mirror/meta_type.html" title="Class template meta_type">meta_type</a></code> template, which provides
+ of the <code class="computeroutput">meta_type</code> template, which provides
                 meta-data about the reflected type.
                 To reflect a <code class="computeroutput">typedef</code>-ined type use the
                 <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPEDEF.html" title="Macro BOOST_MIRRORED_TYPEDEF">BOOST_MIRRORED_TYPEDEF</a></code> macro.
@@ -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="id2636062"></a><h2>Description</h2>
+<a name="id709933"></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.
@@ -54,14 +54,14 @@
 </pre>
 <pre class="programlisting">
 BOOST_MPL_ASSERT((
- <a class="link" href="boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt;
+ 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_NOT((
- <a class="link" href="boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt;
+ 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;
 ));

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-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -27,7 +27,7 @@
 <div class="refnamediv">
 <h2><span class="refentrytitle">Macro BOOST_MIRRORED_TYPEDEF</span></h2>
 <p>BOOST_MIRRORED_TYPEDEF &#8212; This macro is used to reflect a <code class="computeroutput">typedef</code>-ined type and expands into a specialization
- of the <code class="computeroutput"><a class="link" href="boost/mirror/meta_type.html" title="Class template meta_type">meta_type</a></code> template, which provides
+ of the <code class="computeroutput">meta_type</code> template, which provides
                 meta-data about the reflected type.
                 To reflect a base type (not a <code class="computeroutput">typedef</code>-ined) use the
                 <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a></code> macro.
@@ -38,12 +38,12 @@
 <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="id2636416"></a><h2>Description</h2>
+<a name="id710168"></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.
                 The difference between this macro and the <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a></code> macro
- is, that <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPEDEF.html" title="Macro BOOST_MIRRORED_TYPEDEF">BOOST_MIRRORED_TYPEDEF</a></code> returns a <code class="computeroutput"><a class="link" href="boost/mirror/meta_type.html" title="Class template meta_type">meta_type</a></code>
+ is, that <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPEDEF.html" title="Macro BOOST_MIRRORED_TYPEDEF">BOOST_MIRRORED_TYPEDEF</a></code> returns a <code class="computeroutput">meta_type</code>
                 specialization which is aware of the <code class="computeroutput">typedef</code>-ined name and the scope in which the type is
                 <code class="computeroutput">typedef</code>'d. For example the <code class="computeroutput">size_t</code> is a <code class="computeroutput">typedef</code> from the <code class="computeroutput">::std</code> namespace
                 and is usually defined as
@@ -62,7 +62,7 @@
 } // namespace std
 </pre>
 <p>
- the <code class="computeroutput">full_name</code> function called on <a class="link" href="boost/mirror/meta_type.html" title="Class template meta_type">meta_type</a>
+ the <code class="computeroutput">full_name</code> function called on meta_type
         expanded from <a class="link" href="BOOST_MIRRORED_TYPEDEF.html" title="Macro BOOST_MIRRORED_TYPEDEF">BOOST_MIRRORED_TYPEDEF</a>
 </p>
 <pre class="programlisting">
@@ -94,14 +94,14 @@
 </pre>
 <pre class="programlisting">
 BOOST_MPL_ASSERT((
- <a class="link" href="boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt;
+ reflects_global_scope&lt;
                 <a class="link" href="BOOST_MIRRORED_TYPEDEF.html" title="Macro BOOST_MIRRORED_TYPEDEF">BOOST_MIRRORED_TYPEDEF</a>(::std, size_t)::scope::scope
         &gt;
 ));
 </pre>
 <pre class="programlisting">
 BOOST_MPL_ASSERT_NOT((
- <a class="link" href="boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt;
+ reflects_global_scope&lt;
                 <a class="link" href="BOOST_MIRRORED_TYPEDEF.html" title="Macro BOOST_MIRRORED_TYPEDEF">BOOST_MIRRORED_TYPEDEF</a>(::boost::cts, bstring)::scope
         &gt;
 ));

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-07-21 13:22:37 EDT (Mon, 21 Jul 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="id2636775"></a><h2>Description</h2>
+<a name="id710406"></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))
@@ -45,7 +45,7 @@
 </pre>
 <pre class="programlisting">
 BOOST_MPL_ASSERT((
- <a class="link" href="boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt;
+ reflects_global_scope&lt;
                 <a class="link" href="BOOST_MIRRORED_TYPEOF.html" title="Macro BOOST_MIRRORED_TYPEOF">BOOST_MIRRORED_TYPEOF</a>(1.0+1.0)::scope
         &gt;
 ));

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-07-21 13:22:37 EDT (Mon, 21 Jul 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="id2636220"></a><h2>Description</h2>
+<a name="id710038"></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>
@@ -47,7 +47,7 @@
 </pre>
 <pre class="programlisting">
 BOOST_MPL_ASSERT_NOT((
- <a class="link" href="boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt;
+ reflects_global_scope&lt;
                 <a class="link" href="BOOST_MIRRORED_TYPE_NS.html" title="Macro BOOST_MIRRORED_TYPE_NS">BOOST_MIRRORED_TYPE_NS</a>(::std, string)::scope
         &gt;
 ));

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-07-21 13:22:37 EDT (Mon, 21 Jul 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="id2633588"></a><h2>Description</h2>
+<a name="id706397"></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>
@@ -90,19 +90,19 @@
 </p>
 <pre class="programlisting">
 BOOST_MPL_ASSERT((
- <a class="link" href="boost/mirror/reflects_namespace.html" title="Class template reflects_namespace">reflects_namespace</a>&lt; <a class="link" href="BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::ns_1) &gt;
+ reflects_namespace&lt; <a class="link" href="BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::ns_1) &gt;
 ));
 BOOST_MPL_ASSERT((
- <a class="link" href="boost/mirror/reflects_namespace.html" title="Class template reflects_namespace">reflects_namespace</a>&lt; <a class="link" href="BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::ns_1::ns_2::ns_3) &gt;
+ reflects_namespace&lt; <a class="link" href="BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::ns_1::ns_2::ns_3) &gt;
 ));
 BOOST_MPL_ASSERT_NOT((
- <a class="link" href="boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt; <a class="link" href="BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::ns_1) &gt;
+ reflects_global_scope&lt; <a class="link" href="BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::ns_1) &gt;
 ));
 BOOST_MPL_ASSERT_NOT((
- <a class="link" href="boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt; <a class="link" href="BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::ns_1::ns_2::ns_3) &gt;
+ reflects_global_scope&lt; <a class="link" href="BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::ns_1::ns_2::ns_3) &gt;
 ));
 BOOST_MPL_ASSERT((
- <a class="link" href="boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt; <a class="link" href="BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::ns_1::ns_2)::scope::scope &gt;
+ reflects_global_scope&lt; <a class="link" href="BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::ns_1::ns_2)::scope::scope &gt;
 ));
 </pre>
 <p>
@@ -125,7 +125,7 @@
 <div class="titlepage"><div><div><h6 class="title">
 <a name="mirror.REG_NAMESPACE.reference.samples"></a>Examples</h6></div></div></div>
 <p>This example shows the registering and reflection of namespaces
- and 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>
+ and basic usage of the <code class="computeroutput">meta_namespace</code>
                         template class and its members.
                         </p>
 <pre class="programlisting">
@@ -193,7 +193,7 @@
         endl &lt;&lt;
                 BOOST_CTS_LIT(" - it's defined ");
 
- if(<a class="link" href="boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt;typename MetaNamespace::scope&gt;::value)
+ if(reflects_global_scope&lt;typename MetaNamespace::scope&gt;::value)
                 bcout &lt;&lt; BOOST_CTS_LIT(" - on the global scope ");
         else
                 bcout &lt;&lt; BOOST_CTS_LIT(" - in the '") &lt;&lt;
@@ -213,13 +213,13 @@
         using namespace ::boost::mirror;
         // check the template argument
         BOOST_MPL_ASSERT((
- <a class="link" href="boost/mirror/reflects_namespace.html" title="Class template reflects_namespace">reflects_namespace</a>&lt; MetaNamespace &gt;
+ reflects_namespace&lt; MetaNamespace &gt;
         ));
 
         // call the specialized printer based on whether
         // the passed meta-namespace reflects the global
         // scope or not
- typename <a class="link" href="boost/mirror/reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt;MetaNamespace&gt;::type
+ typename reflects_global_scope&lt;MetaNamespace&gt;::type
                 selector;
 
         do_print_meta_data&lt;MetaNamespace&gt;(selector);

Added: sandbox/mirror/doc/html/boost/mirror/meta_attribute.html
==============================================================================
--- (empty file)
+++ sandbox/mirror/doc/html/boost/mirror/meta_attribute.html 2008-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -0,0 +1,146 @@
+<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="meta_class.html" title="Class template meta_class">
+<link rel="next" href="reflects_namespace.html" title="Class template reflects_namespace">
+</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="meta_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="reflects_namespace.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 individual attributes of a class. The
+ <code class="computeroutput">meta_attribute</code> template should not be instantiated
+ directly, but are obtained only as results of introspection operations on
+ <code class="computeroutput">meta_class_attributes</code> and
+ <code class="computeroutput">meta_class_all_attributes</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#id452461-bbtypes">types</a></em></span>
+ <span class="bold"><strong>typedef</strong></span> meta_class&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="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a class="link" href="meta_attribute.html#id453667-bb">base_name</a>();
+ <span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a class="link" href="meta_attribute.html#id453631-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#id453485-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="id710855"></a><h2>Description</h2>
+<p>
+ </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="id710880"></a><h3>
+<a name="id452461-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> meta_class&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a name="boost.mirror.meta_attribute.scope"></a>scope;</p>
+<p>A meta-object describing the class to which the reflected attribute belongs.
+ </p>
+</li></ol></div>
+</div>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a name="id453667-bb"></a>base_name();</pre>
+<p>This static member function returns the base name of the
+ attribute reflected by the <code class="computeroutput">meta_attribute</code>.
+ When a full attribute name
+ <span class="bold"><strong>with</strong></span> the nested name specifier
+ is needed use the <code class="computeroutput">full_name</code> member function
+ instead.</p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a name="id453631-bb"></a>full_name();</pre>
+<p>This static member function returns the full name of the
+ namespace reflected by a <code class="computeroutput">meta_namespace</code>
+ with the nested name specifier. For example:
+ </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) :: full_name()
+ </pre>
+<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">base_name</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 deeply nested namespaces, because the name needs to be properly composed from
+ the base namespace names, which may
+ lead to multiple string concatenations. Subsequent calls to this member function
+ for a concrete specialization of meta_namespace
+ 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="id453485-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
+ nested name specifier of the attribute reflected by this
+ <code class="computeroutput">meta_attribute</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.
+ For example:
+ </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::false_(), ::std::char_traits&lt;char&gt;())
+ </pre>
+<p> is equivalent to calling the
+ <code class="computeroutput">base_name</code> member function with the
+ <code class="computeroutput">BOOST_CTS_USE_WIDE_CHARS</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">full_name</code> method with the
+ <code class="computeroutput">BOOST_CTS_USE_WIDE_CHARS</code> symbol defined,
+ which returns a <code class="computeroutput">::std::wstring</code> holding this string <code class="computeroutput">L"::boost::mirror"</code>.
+ </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="meta_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="reflects_namespace.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-07-21 13:22:37 EDT (Mon, 21 Jul 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_MIRRORED_TYPEOF.html" title="Macro BOOST_MIRRORED_TYPEOF">
-<link rel="next" href="reflects_namespace.html" title="Class template reflects_namespace">
+<link rel="next" href="meta_attribute.html" title="Class template meta_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_MIRRORED_TYPEOF.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="reflects_namespace.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../../BOOST_MIRRORED_TYPEOF.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="meta_attribute.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.mirror.meta_class"></a><div class="titlepage"></div>
@@ -30,30 +30,30 @@
                                 This class template is to provides meta-data
                                 about the reflected class.
                                 
- Although the specializations of <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a></code>
+ Although the specializations of <code class="computeroutput">meta_class</code>
                                 template can be used directly to get the meta data about a particular class (or type),
                                 it is recomended to use the reflection macro
                                 <code class="computeroutput">BOOST_MIRRORED_CLASS(CLASS)</code>
                                 instead, to get the proper specializations of
- <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a></code>.
+ <code class="computeroutput">meta_class</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> Class&gt;
-<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="emphasis"><em>// The basic type meta-information about the reflected class.
+<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> meta_type&lt;Class&gt; <span class="emphasis"><em>// The basic type meta-information about the reflected class.
                                         </em></span>
 {
 <span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="meta_class.html#id2432497-bbtypes">types</a></em></span>
+ <span class="emphasis"><em>// <a class="link" href="meta_class.html#id619886-bbtypes">types</a></em></span>
   <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="meta_class.html#boost.mirror.meta_class.base_classes">base_classes</a>;
   <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="meta_class.html#boost.mirror.meta_class.attributes">attributes</a>;
   <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <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="id2637069"></a><h2>Description</h2>
+<a name="id710605"></a><h2>Description</h2>
 <div class="refsect2" lang="en">
-<a name="id2637073"></a><h3>
-<a name="id2432497-bbtypes"></a><code class="computeroutput">meta_class</code> public types</h3>
+<a name="id710609"></a><h3>
+<a name="id619886-bbtypes"></a><code class="computeroutput">meta_class</code> public types</h3>
 <div class="orderedlist"><ol type="1">
 <li>
 <p>
@@ -87,7 +87,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../../BOOST_MIRRORED_TYPEOF.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="reflects_namespace.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../../BOOST_MIRRORED_TYPEOF.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="meta_attribute.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

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-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -33,10 +33,10 @@
                 get information about the scope inside of which this namespace
                 has been defined.
                 
- To obtain a <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code> for a particular
+ To obtain a <code class="computeroutput">meta_namespace</code> for a particular
                 namespace (with the exception of the global scope) use the reflection
                 macro <code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(FULL_NAMESPACE_NAME)</code>. To
- get the <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code> specialization for
+ get the <code class="computeroutput">meta_namespace</code> specialization for
                 the global scope use 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.
                 </p>
@@ -45,21 +45,21 @@
 <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#id2433792-bbtypes">types</a></em></span>
- <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.scope">scope</a>;
+ <span class="emphasis"><em>// <a class="link" href="meta_namespace.html#id435782-bbtypes">types</a></em></span>
+ <span class="bold"><strong>typedef</strong></span> meta_namespace&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::bstring&amp;</span> <a class="link" href="meta_namespace.html#id2430685-bb">base_name</a>();
- <span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a class="link" href="meta_namespace.html#id2475115-bb">full_name</a>();
+ <span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a class="link" href="meta_namespace.html#id435608-bb">base_name</a>();
+ <span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a class="link" href="meta_namespace.html#id435566-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#id2519793-bb">get_name</a>(::boost::mpl::bool_&lt;FullName&gt;, ::std::char_traits&lt;CharT&gt;);
+ <a class="link" href="meta_namespace.html#id435513-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="id2632469"></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
+<a name="id705766"></a><h2>Description</h2>
+<p>The specializations of <code class="computeroutput">meta_type</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
- <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code> usage. Mirror works with the native C++ types
+ <code class="computeroutput">meta_type</code> usage. Mirror works with the native C++ types
                 and some of the very common types like <code class="computeroutput">::std::string</code>, etc. out of the box.
                 Meta-types for many other types from the standard library and Boost
                 are also provided and can be <code class="computeroutput">#include</code>d when necessary.
@@ -102,9 +102,9 @@
 <div class="titlepage"><div><div><h6 class="title">
 <a name="mirror.meta_namespace.reference.sample02"></a>Example - Scope and ancestors</h6></div></div></div>
 <p>The following example shows what can be done with the
- <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>s <code class="computeroutput">scope</code> and
+ <code class="computeroutput">meta_namespace</code>s <code class="computeroutput">scope</code> and
                         <code class="computeroutput">ancestors</code> <code class="computeroutput">typedef</code>s. It also shows the usage
- 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
+ of the <code class="computeroutput">reflects_global_scope</code> trait
                         template.
                         </p>
 <a name="mirror.reference.sample.meta_namespace.usage02"></a><pre class="programlisting">
@@ -149,7 +149,7 @@
         bcout &lt;&lt; meta_boost_mirror::scope::full_name() &lt;&lt; endl;
         //
         // check whether the grandparent namespace is the global scope
- if(<a class="link" href="reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt;meta_boost_mirror::scope::scope&gt; :: value)
+ if(reflects_global_scope&lt;meta_boost_mirror::scope::scope&gt; :: value)
                 bcout &lt;&lt; BOOST_CTS_LIT("OK") &lt;&lt; endl;
         else
                 bcout &lt;&lt; BOOST_CTS_LIT("Error") &lt;&lt; endl;
@@ -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#id2430685-bb">base_name</a></code> and the
- <code class="computeroutput"><a class="link" href="meta_namespace.html#id2475115-bb">full_name</a></code> methods
- are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_namespace.html#id2519793-bb">get_name</a></code>
+<p>The <code class="computeroutput">base_name</code> and the
+ <code class="computeroutput">full_name</code> methods
+ are convenient but not very generic. The <code class="computeroutput">get_name</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.
@@ -187,7 +187,7 @@
 ::std::basic_ostream&lt; CharT, ::std::char_traits&lt; CharT &gt; &gt;&amp;
 operator &lt;&lt; (
         ::std::basic_ostream&lt; CharT, ::std::char_traits&lt; CharT &gt; &gt;&amp; _s,
- ::boost::mirror::<a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a>&lt; NsPlaceholder &gt; _mn
+ ::boost::mirror::meta_namespace&lt; NsPlaceholder &gt; _mn
 )
 {
         return _s &lt;&lt;_mn.get_name(
@@ -213,32 +213,33 @@
 </div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id2632892"></a><h3>
-<a name="id2433792-bbtypes"></a><code class="computeroutput">meta_namespace</code> public types</h3>
+<a name="id705980"></a><h3>
+<a name="id435782-bbtypes"></a><code class="computeroutput">meta_namespace</code> public types</h3>
 <div class="orderedlist"><ol type="1">
 <li>
 <p>
-<span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.mirror.meta_namespace.scope"></a>scope;</p>
+<span class="bold"><strong>typedef</strong></span> meta_namespace&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a name="boost.mirror.meta_namespace.scope"></a>scope;</p>
 <p>A meta-object describing the scope in which the reflected namespace
- is defined. It is a specialization of <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>
+ is defined. It is a specialization of <code class="computeroutput">meta_namespace</code>
                         with the exception of the meta-namespace reflecting the global scope where
- this type is not defined.
+ this type refers back to the <code class="computeroutput">meta_namespace</code>
+ describing the global scope.
                         </p>
 <p>To find out whether a meta-namespace reflects the global scope
- use the <code class="computeroutput"><a class="link" href="reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a></code> template meta-function.
+ use the <code class="computeroutput">reflects_global_scope</code> template meta-function.
                         </p>
 </li>
 <li>
 <p>
 <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.mirror.meta_namespace.ancestors"></a>ancestors;</p>
-<p>An <code class="computeroutput">mpl::vector</code> containing the <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>
+<p>An <code class="computeroutput">mpl::vector</code> containing the <code class="computeroutput">meta_namespace</code>
                         specializations for all the namespaces in which the reflected namespace is
- directly or indirectly nested (not-containing the <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>
+ directly or indirectly nested (not-containing the <code class="computeroutput">meta_namespace</code>
                         for the reflected namespace). The elements of this <code class="computeroutput">mpl::vector</code> are
- ordered from the <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code> reflecting
- the global scope to the <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>
+ ordered from the <code class="computeroutput">meta_namespace</code> reflecting
+ the global scope to the <code class="computeroutput">meta_namespace</code>
                         reflecting the parent namespace. The following holds
- for <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>s
+ for <code class="computeroutput">meta_namespace</code>s
                         reflecting any namespace with the exception of the global scope:
                         </p>
 <a name="mirror.reference.sample.meta_namespace.ancestors01"></a><pre class="programlisting">
@@ -246,7 +247,7 @@
 using namespace ::boost::mirror;
 
 BOOST_MPL_ASSERT((
- <a class="link" href="reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a> &lt;
+ reflects_global_scope &lt;
                 mpl::front &lt;
                         <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::std)::ancestors
                 &gt;
@@ -254,7 +255,7 @@
 ));
 
 BOOST_MPL_ASSERT((
- <a class="link" href="reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a> &lt;
+ reflects_global_scope &lt;
                 mpl::front &lt;
                         <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::boost::mirror)::ancestors
                 &gt;
@@ -270,7 +271,7 @@
         &gt;
 ));
 </pre>
-<p>For the <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>
+<p>For the <code class="computeroutput">meta_namespace</code>
                         reflecting the global scope the following holds true.
                         </p>
 <a name="mirror.reference.sample.meta_namespace.ancestors02"></a><pre class="programlisting">
@@ -282,14 +283,14 @@
 
 </pre>
 <p>To find out whether a meta-namespace reflects the global scope
- use the <code class="computeroutput"><a class="link" href="reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a></code> template meta-function.
+ use the <code class="computeroutput">reflects_global_scope</code> template meta-function.
                         </p>
 </li>
 </ol></div>
 </div>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a name="id2430685-bb"></a>base_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a name="id435608-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>.
+ namespace reflected by a <code class="computeroutput">meta_namespace</code>.
                         For example the base namespace name "returned" by the invocation of
                         </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) :: base_name()
@@ -297,11 +298,11 @@
 <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#id2475115-bb">full_name</a></code> member function
+ is needed use the <code class="computeroutput">full_name</code> member function
                         instead.</p>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a name="id2475115-bb"></a>full_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a name="id435566-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>
+ namespace reflected by a <code class="computeroutput">meta_namespace</code>
                         with the nested name specifier. For example:
                         </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) :: full_name()
@@ -309,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#id2430685-bb">base_name</a></code> member function
+ is needed use the <code class="computeroutput">base_name</code> member function
                         instead.</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -319,19 +320,19 @@
                         for deeply nested namespaces, because the name needs to be properly composed from
                         the base 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_namespace.html" title="Class template meta_namespace">meta_namespace</a>
+ for a concrete specialization of meta_namespace
                         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="id2519793-bb"></a>get_name(::boost::mpl::bool_&lt;FullName&gt; full, ::std::char_traits&lt;CharT&gt; cht);</pre>
+ <a name="id435513-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
                         nested name specifier of the namespace reflected by this
- <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>,
+ <code class="computeroutput">meta_namespace</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
@@ -341,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#id2430685-bb">base_name</a></code> member function with the
+ <code class="computeroutput">base_name</code> member function with the
                         <code class="computeroutput">BOOST_CTS_USE_WIDE_CHARS</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#id2475115-bb">full_name</a></code> method with the
+ <code class="computeroutput">full_name</code> method with the
                         <code class="computeroutput">BOOST_CTS_USE_WIDE_CHARS</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-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -31,34 +31,34 @@
                 base and full type name of the reflected type and to
                 get information about the scope inside of which this type
                 has been declared.
- Although the specializations of <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>
+ Although the specializations of <code class="computeroutput">meta_type</code>
                 template can be used directly to get the meta data about a particular type,
                 it is recomended to use the reflection macros like
                 <code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(TYPE)</code> or
                 <code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_TYPEOF.html" title="Macro BOOST_MIRRORED_TYPEOF">BOOST_MIRRORED_TYPEOF</a>(EXPR)</code>
                 instead, to get the proper specializations of
- <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>.
+ <code class="computeroutput">meta_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> 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#id2496026-bbtypes">types</a></em></span>
+ <span class="emphasis"><em>// <a class="link" href="meta_type.html#id500518-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> <span class="emphasis"><em>unspecified</em></span> <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::bstring&amp;</span> <a class="link" href="meta_type.html#id2447170-bb">base_name</a>();
- <span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a class="link" href="meta_type.html#id2516342-bb">full_name</a>();
+ <span class="bold"><strong>typedef</strong></span> meta_namespace&lt;<span class="emphasis"><em>unspecified</em></span>&gt;-or-meta_class&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::bstring&amp;</span> <a class="link" href="meta_type.html#id620704-bb">base_name</a>();
+ <span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a class="link" href="meta_type.html#id620640-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#id2501430-bb">get_name</a>(::boost::mpl::bool_&lt;FullName&gt;, ::std::char_traits&lt;CharT&gt;);
+ <a class="link" href="meta_type.html#id619879-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="id2634882"></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
+<a name="id707089"></a><h2>Description</h2>
+<p>The specializations of <code class="computeroutput">meta_type</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
- <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code> usage. Mirror works with the native C++ types
+ <code class="computeroutput">meta_type</code> usage. Mirror works with the native C++ types
                 and some of the very common types like <code class="computeroutput">::std::string</code>, etc. out of the box.
                 Meta-types for many other types from the standard library and Boost
                 are also provided and can be <code class="computeroutput">#include</code>d when necessary.
@@ -70,7 +70,7 @@
 <a name="mirror.meta_type.reference.sample01"></a>Example - Basic usage</h6></div></div></div>
 <p>This sample code shows how to reflect a type and how to get its full type name.
                         Since various instances of <code class="computeroutput">::std::pair</code> are reflected,
- the <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>s for this template need to be
+ the <code class="computeroutput">meta_type</code>s for this template need to be
                         included.
                         </p>
 <a name="mirror.reference.sample.meta_type.usage01"></a><pre class="programlisting">
@@ -131,7 +131,7 @@
                 MetaType::base_name() &lt;&lt;
         endl;
         //
- if(<a class="link" href="reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a>&lt;typename MetaType::scope&gt;::value)
+ if(reflects_global_scope&lt;typename MetaType::scope&gt;::value)
         {
                 bcout &lt;&lt;
                 BOOST_CTS_LIT("It's defined on the global scope") &lt;&lt;
@@ -182,7 +182,7 @@
                         types. This is useful when the info about the name and the scope of the <code class="computeroutput">typedef</code>
                         is required instead of the meta-information about the "source" type.
                         However, the usage shown in this example is not very common. The full utility becomes obvious
- only when the <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code> is part of
+ only when the <code class="computeroutput">meta_type</code> is part of
                         some other meta-structure like for example with <code class="computeroutput">typedef</code>'d class member attributes.
                         </p>
 <p>Mirror comes with several pre-registered <code class="computeroutput">typedef</code>s. If user-defined
@@ -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#id2447170-bb">base_name</a></code> and the
- <code class="computeroutput"><a class="link" href="meta_type.html#id2516342-bb">full_name</a></code> member functions
- are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_type.html#id2501430-bb">get_name</a></code>
+<p>The <code class="computeroutput">base_name</code> and the
+ <code class="computeroutput">full_name</code> member functions
+ are convenient but not very generic. The <code class="computeroutput">get_name</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.
@@ -253,7 +253,7 @@
 ::std::basic_ostream&lt; CharT, ::std::char_traits&lt; CharT &gt; &gt;&amp;
 operator &lt;&lt; (
         ::std::basic_ostream&lt; CharT, ::std::char_traits&lt; CharT &gt; &gt;&amp; _s,
- ::boost::mirror::<a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a>&lt; Type &gt; _mt
+ ::boost::mirror::meta_type&lt; Type &gt; _mt
 )
 {
         return _s &lt;&lt;_mt.get_name(
@@ -279,41 +279,41 @@
 </div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id2635430"></a><h3>
-<a name="id2496026-bbtypes"></a><code class="computeroutput">meta_type</code> public types</h3>
+<a name="id709542"></a><h3>
+<a name="id500518-bbtypes"></a><code class="computeroutput">meta_type</code> public types</h3>
 <div class="orderedlist"><ol type="1">
 <li>
 <p>
 <span class="bold"><strong>typedef</strong></span> Type <a name="boost.mirror.meta_type.reflected_type"></a>reflected_type;</p>
-<p>The type reflected by this specialization of <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>.
+<p>The type reflected by this specialization of <code class="computeroutput">meta_type</code>.
                         </p>
 </li>
 <li>
 <p>
-<span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.mirror.meta_type.scope"></a>scope;</p>
+<span class="bold"><strong>typedef</strong></span> meta_namespace&lt;<span class="emphasis"><em>unspecified</em></span>&gt;-or-meta_class&lt;<span class="emphasis"><em>unspecified</em></span>&gt; <a name="boost.mirror.meta_type.scope"></a>scope;</p>
 <p>A meta-object describing the scope in which the reflected type
                         is defined. Depending on where the type has been defined <code class="computeroutput">scope</code>
- can be either a specialization of <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>
- or a specialization of <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a></code>.
+ can be either a specialization of <code class="computeroutput">meta_namespace</code>
+ or a specialization of <code class="computeroutput">meta_class</code>.
                         </p>
 </li>
 </ol></div>
 </div>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a name="id2447170-bb"></a>base_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a name="id620704-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>
+ type reflected by <code class="computeroutput">meta_type</code>
                         without the nested name specifier. For example:
                         </p>
 <pre class="programlisting"><code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a></code>(::std::string) :: base_name()
                         </pre>
 <p> or
                         </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; :: base_name()
+<pre class="programlisting"><code class="computeroutput">meta_type</code> &lt; ::std::string &gt; :: base_name()
                         </pre>
 <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#id2516342-bb">full_name</a></code> member function
+ is needed use the <code class="computeroutput">full_name</code> member function
                         instead.</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -324,26 +324,26 @@
                         types, arrays etc. because the type name needs to be properly composed from
                         the base type name, which may depending on the complexity of the type
                         lead to multiple string concatenations. Subsequent calls to this member function
- for a concrete specialization of <a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a>
+ for a concrete specialization of meta_type
                         are usually much faster.
                         </p></td>
 </tr></tbody>
 </table></div>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a name="id2516342-bb"></a>full_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::bstring&amp;</span> <a name="id620640-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>
+ type reflected by <code class="computeroutput">meta_type</code>
                         with the nested name specifier. For example:
                         </p>
 <pre class="programlisting"><code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a></code>(::std::string) :: full_name()
                         </pre>
 <p> or
                         </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; :: full_name()
+<pre class="programlisting"><code class="computeroutput">meta_type</code> &lt; ::std::string &gt; :: full_name()
                         </pre>
 <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#id2447170-bb">base_name</a></code> member function
+ is needed use the <code class="computeroutput">base_name</code> member function
                         instead.</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -354,19 +354,19 @@
                         types, arrays etc. because the type name needs to be properly composed from
                         the base type name, which may depending on the complexity of the type
                         lead to multiple string concatenations. Subsequent calls to this member function
- for a concrete specialization of <a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a>
+ for a concrete specialization of meta_type
                         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="id2501430-bb"></a>get_name(::boost::mpl::bool_&lt;FullName&gt; full, ::std::char_traits&lt;CharT&gt; cht);</pre>
+ <a name="id619879-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
                         nested name specifier of the type reflected by this
- <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>,
+ <code class="computeroutput">meta_type</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
@@ -376,19 +376,19 @@
 <pre class="programlisting"><code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a></code>(::std::string) :: get_name(::boost::mpl::false_(), ::std::char_traits&lt;char&gt;())</pre>
 <p> or
                         </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::false_(), ::std::char_traits&lt;char&gt;())</pre>
+<pre class="programlisting"><code class="computeroutput">meta_type</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#id2447170-bb">base_name</a></code> member function with the
+ <code class="computeroutput">base_name</code> member function with the
                         <code class="computeroutput">BOOST_CTS_USE_WIDE_CHARS</code> symbol undefined,
                         which returns a <code class="computeroutput">::std::string</code> containing <code class="computeroutput">"string"</code> and calling
                         </p>
 <pre class="programlisting"><code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a></code>(::std::string) :: get_name(::boost::mpl::true_(), ::std::char_traits&lt;wchar_t&gt;())</pre>
 <p> or
                         </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>
+<pre class="programlisting"><code class="computeroutput">meta_type</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#id2516342-bb">full_name</a></code> method with the
+ <code class="computeroutput">full_name</code> method with the
                         <code class="computeroutput">BOOST_CTS_USE_WIDE_CHARS</code> symbol defined,
                         which returns a <code class="computeroutput">::std::wstring</code> containing <code class="computeroutput">L"::std::string"</code>.
                         </p>

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-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -27,7 +27,7 @@
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template reflects_class</span></h2>
 <p>boost::mirror::reflects_class &#8212; If <code class="computeroutput">MetaObject</code> is an instantiation of
- <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a></code>, then <code class="computeroutput"><a class="link" href="reflects_class.html" title="Class template reflects_class">reflects_class</a></code>
+ <code class="computeroutput">meta_class</code>, then <code class="computeroutput">reflects_class</code>
                                 inherits from <code class="computeroutput">::boost::true_type</code>. Otherwise it inherits from
                                 <code class="computeroutput">::boost::false_type</code>.
                                 </p>
@@ -37,9 +37,9 @@
 <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="id2638084"></a><h2>Description</h2>
+<a name="id712509"></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>.
+ and thus is an instantiation of <code class="computeroutput">meta_class</code>.
                                 </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">

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-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -26,9 +26,9 @@
 <a name="boost.mirror.reflects_global_scope"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template reflects_global_scope</span></h2>
-<p>boost::mirror::reflects_global_scope &#8212; If <code class="computeroutput">MetaObject</code> is the specialization of <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>,
+<p>boost::mirror::reflects_global_scope &#8212; If <code class="computeroutput">MetaObject</code> is the specialization of <code class="computeroutput">meta_namespace</code>,
                                 reflecting the global scope,
- then <code class="computeroutput"><a class="link" href="reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a></code>
+ then <code class="computeroutput">reflects_global_scope</code>
                                 inherits from <code class="computeroutput">::boost::true_type</code>. Otherwise it inherits from
                                 <code class="computeroutput">::boost::false_type</code>.
                                 </p>
@@ -38,9 +38,9 @@
 <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="id2637571"></a><h2>Description</h2>
+<a name="id711412"></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.
+ and thus is an instantiation of <code class="computeroutput">meta_namespace</code> for the global scope.
                                 </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">

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-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -27,7 +27,7 @@
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template reflects_inheritance</span></h2>
 <p>boost::mirror::reflects_inheritance &#8212; If <code class="computeroutput">MetaObject</code> is an instantiation of <code class="computeroutput">meta_inheritance</code>,
- then <code class="computeroutput"><a class="link" href="reflects_inheritance.html" title="Class template reflects_inheritance">reflects_inheritance</a></code>
+ then <code class="computeroutput">reflects_inheritance</code>
                                 inherits from <code class="computeroutput">::boost::true_type</code>. Otherwise it inherits from
                                 <code class="computeroutput">::boost::false_type</code>.
                                 </p>

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-07-21 13:22:37 EDT (Mon, 21 Jul 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_namespace.hpp" title="Header &lt;boost/mirror/traits/reflects_namespace.hpp&gt;">
-<link rel="prev" href="meta_class.html" title="Class template meta_class">
+<link rel="prev" href="meta_attribute.html" title="Class template meta_attribute">
 <link rel="next" href="reflects_global_scope.html" title="Class template reflects_global_scope">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,14 +20,14 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="meta_class.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_namespace.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_global_scope.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<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.traits.reflects_namespace.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_global_scope.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.mirror.reflects_namespace"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template reflects_namespace</span></h2>
-<p>boost::mirror::reflects_namespace &#8212; If <code class="computeroutput">MetaObject</code> is an instantiation of <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>,
- then <code class="computeroutput"><a class="link" href="reflects_namespace.html" title="Class template reflects_namespace">reflects_namespace</a></code>
+<p>boost::mirror::reflects_namespace &#8212; If <code class="computeroutput">MetaObject</code> is an instantiation of <code class="computeroutput">meta_namespace</code>,
+ then <code class="computeroutput">reflects_namespace</code>
                                 inherits from <code class="computeroutput">::boost::true_type</code>. Otherwise it inherits from
                                 <code class="computeroutput">::boost::false_type</code>.
                                 </p>
@@ -37,9 +37,9 @@
 <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="id2637319"></a><h2>Description</h2>
+<a name="id711240"></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>.
+ and thus is an instantiation of <code class="computeroutput">meta_namespace</code>.
                                 </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
@@ -87,7 +87,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="meta_class.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../mirror/reference.html#header.boost.mirror.traits.reflects_namespace.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_global_scope.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<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.traits.reflects_namespace.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_global_scope.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

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-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -26,8 +26,8 @@
 <a name="boost.mirror.reflects_type"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template reflects_type</span></h2>
-<p>boost::mirror::reflects_type &#8212; If <code class="computeroutput">MetaObject</code> is either an instantiation of <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>
- or <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a></code>, then <code class="computeroutput"><a class="link" href="reflects_type.html" title="Class template reflects_type">reflects_type</a></code>
+<p>boost::mirror::reflects_type &#8212; If <code class="computeroutput">MetaObject</code> is either an instantiation of <code class="computeroutput">meta_type</code>
+ or <code class="computeroutput">meta_class</code>, then <code class="computeroutput">reflects_type</code>
                                 inherits from <code class="computeroutput">::boost::true_type</code>. Otherwise it inherits from
                                 <code class="computeroutput">::boost::false_type</code>.
                                 </p>
@@ -37,9 +37,9 @@
 <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="id2637831"></a><h2>Description</h2>
+<a name="id711587"></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>.
+ and thus is an instantiation of <code class="computeroutput">meta_type</code>.
                                 </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">

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-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -28,7 +28,7 @@
 <h2><span class="refentrytitle">Class template reflects_virtual_inheritance</span></h2>
 <p>boost::mirror::reflects_virtual_inheritance &#8212; If <code class="computeroutput">MetaInheritance</code> is a specialization of <code class="computeroutput">meta_inheritance</code>
                                 reflecting virtual inheritance,
- then <code class="computeroutput"><a class="link" href="reflects_virtual_inheritance.html" title="Class template reflects_virtual_inheritance">reflects_virtual_inheritance</a></code>
+ then <code class="computeroutput">reflects_virtual_inheritance</code>
                                 inherits from <code class="computeroutput">::boost::true_type</code>. Otherwise it inherits from
                                 <code class="computeroutput">::boost::false_type</code>.
                                 </p>

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-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -33,7 +33,7 @@
 </div></div>
 <div><p class="copyright">Copyright © 2008 Matú&#353; Chochlík</p></div>
 <div><div class="legalnotice">
-<a name="id2638506"></a><p>Use, modification and distribution is subject to the Boost
+<a name="id712822"></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>

Modified: sandbox/mirror/doc/html/doc_HTML.manifest
==============================================================================
--- sandbox/mirror/doc/html/doc_HTML.manifest (original)
+++ sandbox/mirror/doc/html/doc_HTML.manifest 2008-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -14,6 +14,7 @@
 BOOST_MIRRORED_TYPEDEF.html
 BOOST_MIRRORED_TYPEOF.html
 boost/mirror/meta_class.html
+boost/mirror/meta_attribute.html
 boost/mirror/reflects_namespace.html
 boost/mirror/reflects_global_scope.html
 boost/mirror/reflects_type.html

Modified: sandbox/mirror/doc/html/index.html
==============================================================================
--- sandbox/mirror/doc/html/index.html (original)
+++ sandbox/mirror/doc/html/index.html 2008-07-21 13:22:37 EDT (Mon, 21 Jul 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="id603662"></a>The Mirror library documentation</h1></div></div>
 <hr>
 </div>
 <div class="toc">

Modified: sandbox/mirror/doc/html/mirror.html
==============================================================================
--- sandbox/mirror/doc/html/mirror.html (original)
+++ sandbox/mirror/doc/html/mirror.html 2008-07-21 13:22:37 EDT (Mon, 21 Jul 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="id705145"></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>
@@ -51,9 +51,9 @@
 <dt><span class="section">Tutorial</span></dt>
 <dt><span class="section">Mirror Reference</span></dt>
 <dd><dl>
-<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">Meta Objects</span></dt>
+<dt><span class="section">Traits</span></dt>
+<dt><span class="section">Header files</span></dt>
 </dl></dd>
 </dl>
 </div>
@@ -292,7 +292,7 @@
         </p>
 <p>
                 This is when <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> comes in handy. One of the basic
- facilities is the <code class="computeroutput">boost::mirror::<a class="link" href="boost/mirror/meta_type.html" title="Class template meta_type">meta_type</a></code> class template.
+ facilities is the <code class="computeroutput">boost::mirror::meta_type</code> class template.
                 Among other things this template has two member functions - <code class="computeroutput">base_name</code>
                 and <code class="computeroutput">full_name</code> that return the base type name without the nested
                 name specifier and the full type name with the nested name specifier respectively.
@@ -301,7 +301,7 @@
                 and portable.
         </p>
 <p>
- Using <code class="computeroutput"><a class="link" href="boost/mirror/meta_type.html" title="Class template meta_type">meta_type</a></code> the <code class="computeroutput">get_typename&lt;T&gt;()</code>
+ Using <code class="computeroutput">meta_type</code> the <code class="computeroutput">get_typename&lt;T&gt;()</code>
                 function could look like this:
         </p>
 <pre class="programlisting">
@@ -319,7 +319,7 @@
 </pre>
 <p>
                 With native C++ types and some common types from the STL
- and from Boost the <code class="computeroutput"><a class="link" href="boost/mirror/meta_type.html" title="Class template meta_type">meta_type</a></code>
+ and from Boost the <code class="computeroutput">meta_type</code>
                 works out of the box.
         </p>
 </div>

Modified: sandbox/mirror/doc/html/mirror/reference.html
==============================================================================
--- sandbox/mirror/doc/html/mirror/reference.html (original)
+++ sandbox/mirror/doc/html/mirror/reference.html 2008-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -26,23 +26,24 @@
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="mirror.reference"></a>Mirror Reference</h2></div></div></div>
 <div class="toc"><dl>
-<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">Meta Objects</span></dt>
+<dt><span class="section">Traits</span></dt>
+<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="id2585480"></a>Meta Objects</h3></div></div></div></div>
+<a name="id705533"></a>Meta Objects</h3></div></div></div></div>
 <div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="id2585487"></a>Traits</h3></div></div></div></div>
+<a name="id705540"></a>Traits</h3></div></div></div></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="id2585494"></a>Header files</h3></div></div></div>
+<a name="id705547"></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>
 <dt><span class="section">Header <boost/mirror/meta_class.hpp></span></dt>
+<dt><span class="section">Header <boost/mirror/meta_attributes.hpp></span></dt>
 <dt><span class="section">Header <boost/mirror/traits/reflects_namespace.hpp></span></dt>
 <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>
@@ -90,6 +91,15 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
+<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>;
+ }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
 <a name="header.boost.mirror.traits.reflects_namespace.hpp"></a>Header &lt;boost/mirror/traits/reflects_namespace.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 {

Modified: sandbox/mirror/libs/mirror/doc/reference.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference.xml 2008-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -17,6 +17,8 @@
                 <xi:include href="reference/meta_namespace.xml"/>
                 <xi:include href="reference/meta_type.xml"/>
                 <xi:include href="reference/meta_class.xml"/>
+
+ <xi:include href="reference/meta_attributes.xml"/>
         
                 <xi:include href="reference/traits/reflects_namespace.xml"/>
                 <xi:include href="reference/traits/reflects_global_scope.xml"/>

Added: sandbox/mirror/libs/mirror/doc/reference/class_meta_attribute.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/reference/class_meta_attribute.xml 2008-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -0,0 +1,116 @@
+<?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 individual attributes of a class. The
+ <code><classname>meta_attribute</classname></code> template should not be instantiated
+ directly, but 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>
+ </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>
+ <purpose>Meta-class describing the scope where the reflected attribute is defined</purpose>
+ <description>
+ <para>A meta-object describing the class to which the reflected attribute belongs.
+ </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">with</emphasis> the nested name specifier
+ 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
+ namespace reflected by a <code><classname>meta_namespace</classname></code>
+ with the nested name specifier. For example:
+ <programlisting><macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::boost::mirror) :: full_name()
+ </programlisting>
+ returns <code>"::boost::mirror"</code>. When the base namespace name
+ <emphasis role="bold">without</emphasis> the nested name specifier
+ 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 deeply nested namespaces, because the name needs to be properly composed from
+ the base namespace names, which may
+ lead to multiple string concatenations. Subsequent calls to this member function
+ for a concrete specialization of <classname>meta_namespace</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 <classname>::std::basic_string&lt;CharT&gt;</classname>&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
+ <emphasis role="bold">without</emphasis> the nested name specifier
+ or the full name <emphasis role="bold">with</emphasis> the
+ nested name specifier 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.
+ For example:
+ <programlisting><macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::boost::mirror) :: get_name(::boost::mpl::false_(), ::std::char_traits&lt;char&gt;())
+ </programlisting> is equivalent to calling the
+ <code><methodname>base_name</methodname></code> member function with the
+ <code><macroname>BOOST_CTS_USE_WIDE_CHARS</macroname></code> symbol undefined,
+ which returns a <code>::std::string</code> holding the string <code>"mirror"</code> and calling
+ <programlisting><macroname>BOOST_MIRRORED_NAMESPACE</macroname>(::boost::mirror) :: get_name(::boost::mpl::true_(), ::std::char_traits&lt;wchar_t&gt;())
+ </programlisting> is equivalent to calling the
+ <code><methodname>full_name</methodname></code> method with the
+ <code><macroname>BOOST_CTS_USE_WIDE_CHARS</macroname></code> symbol defined,
+ which returns a <code>::std::wstring</code> holding this string <code>L"::boost::mirror"</code>.
+ </para>
+ </purpose>
+ </method>
+ </access>
+</class>
+

Modified: sandbox/mirror/libs/mirror/doc/reference/class_meta_namespace.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference/class_meta_namespace.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference/class_meta_namespace.xml 2008-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -73,13 +73,14 @@
 
         <access name="public">
         <typedef name="scope">
- <type><emphasis>unspecified</emphasis></type>
+ <type><classname>meta_namespace</classname>&lt;<emphasis>unspecified</emphasis>&gt;</type>
                 <purpose>Meta-namespace describing the scope where the reflected namespace is defined</purpose>
                 <description>
                         <para>A meta-object describing the scope in which the reflected namespace
                         is defined. It is a specialization of <code><classname>meta_namespace</classname></code>
                         with the exception of the meta-namespace reflecting the global scope where
- this type is not defined.
+ this type refers back to the <code><classname>meta_namespace</classname></code>
+ describing the global scope.
                         </para>
                         <para>To find out whether a meta-namespace reflects the global scope
                         use the <code><classname>reflects_global_scope</classname></code> template meta-function.
@@ -111,7 +112,7 @@
                 </description>
         </typedef>
         <method name="base_name">
- <type>const <classname>cts::bstring</classname>&amp;</type>
+ <type>const cts::<classname>bstring</classname>&amp;</type>
                 <purpose>
                         <para>This static member function returns the base name of the
                         namespace reflected by a <code><classname>meta_namespace</classname></code>.
@@ -125,7 +126,7 @@
                 </purpose>
         </method>
         <method name="full_name">
- <type>const <classname>cts::bstring</classname>&amp;</type>
+ <type>const cts::<classname>bstring</classname>&amp;</type>
                 <purpose>
                         <para>This static member function returns the full name of the
                         namespace reflected by a <code><classname>meta_namespace</classname></code>

Modified: sandbox/mirror/libs/mirror/doc/reference/class_meta_type.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference/class_meta_type.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference/class_meta_type.xml 2008-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -93,7 +93,7 @@
                 </description>
         </typedef>
         <typedef name="scope">
- <type><emphasis>unspecified</emphasis></type>
+ <type><classname>meta_namespace</classname>&lt;<emphasis>unspecified</emphasis>&gt;-or-<classname>meta_class</classname>&lt;<emphasis>unspecified</emphasis>&gt;</type>
                 <purpose>Meta-object describing the scope where Type is defined</purpose>
                 <description>
                         <para>A meta-object describing the scope in which the reflected type
@@ -104,7 +104,7 @@
                 </description>
         </typedef>
         <method name="base_name">
- <type>const <classname>cts::bstring</classname>&amp;</type>
+ <type>const cts::<classname>bstring</classname>&amp;</type>
                 <purpose>
                         <para>This static member function returns the base name of the
                         type reflected by <code><classname>meta_type</classname></code>
@@ -130,7 +130,7 @@
                 </notes>
         </method>
         <method name="full_name">
- <type>const <classname>cts::bstring</classname>&amp;</type>
+ <type>const cts::<classname>bstring</classname>&amp;</type>
                 <purpose>
                         <para>This static member function returns the full name of the
                         type reflected by <code><classname>meta_type</classname></code>

Added: sandbox/mirror/libs/mirror/doc/reference/meta_attributes.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/doc/reference/meta_attributes.xml 2008-07-21 13:22:37 EDT (Mon, 21 Jul 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">
+<header name="boost/mirror/meta_attributes.hpp"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+>
+ <using-namespace name="boost::mirror"/>
+ <using-namespace name="boost::cts"/>
+ <namespace name="boost">
+ <namespace name="mirror">
+
+ <xi:include href="class_meta_attribute.xml"/>
+
+ </namespace><!-- mirror -->
+ </namespace><!-- boost -->
+
+ <!-- macros
+ <xi:include href="macro_RFL_TYPE.xml"/>
+ -->
+</header>

Modified: sandbox/mirror/libs/mirror/example/registering/classes.cpp
==============================================================================
--- sandbox/mirror/libs/mirror/example/registering/classes.cpp (original)
+++ sandbox/mirror/libs/mirror/example/registering/classes.cpp 2008-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -415,7 +415,9 @@
                 {
                         using namespace ::std;
                         s << endl << " - " <<
- BOOST_MIRRORED_TYPE(typename MetaAttribute::type_selector)::full_name() <<
+ BOOST_MIRRORED_TYPE(
+ typename MetaAttribute::typedef_or_type
+ )::full_name() <<
                                 " " <<
                                 ma.base_name();
                 }

Modified: sandbox/mirror/libs/mirror/example/registering/virtual_bases.cpp
==============================================================================
--- sandbox/mirror/libs/mirror/example/registering/virtual_bases.cpp (original)
+++ sandbox/mirror/libs/mirror/example/registering/virtual_bases.cpp 2008-07-21 13:22:37 EDT (Mon, 21 Jul 2008)
@@ -186,7 +186,7 @@
                                 " " <<
                                 MetaAttribute::position::value <<
                                 ": " <<
- MetaAttribute::meta_class::full_name() <<
+ MetaAttribute::scope::full_name() <<
                                 " " <<
                                 ma.base_name() <<
                                 ";" <<


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