Boost logo

Boost-Commit :

From: oryol_at_[hidden]
Date: 2008-02-09 21:55:42


Author: jeremypack
Date: 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
New Revision: 43201
URL: http://svn.boost.org/trac/boost/changeset/43201

Log:
Doc changes, Reflection doc placeholders, parameter_map class.

Added:
   sandbox/libs/reflection/doc/appendices.qbk (contents, props changed)
   sandbox/libs/reflection/doc/appendix_a.qbk (contents, props changed)
   sandbox/libs/reflection/doc/appendix_b.qbk (contents, props changed)
   sandbox/libs/reflection/doc/appendix_c.qbk (contents, props changed)
   sandbox/libs/reflection/doc/extension.qbk (contents, props changed)
   sandbox/libs/reflection/doc/faq.qbk (contents, props changed)
   sandbox/libs/reflection/doc/html/boost_reflection/appendices/
   sandbox/libs/reflection/doc/html/boost_reflection/appendices.html (contents, props changed)
   sandbox/libs/reflection/doc/html/boost_reflection/appendices/appendix_a.html (contents, props changed)
   sandbox/libs/reflection/doc/html/boost_reflection/appendices/appendix_b.html (contents, props changed)
   sandbox/libs/reflection/doc/html/boost_reflection/appendices/appendix_c.html (contents, props changed)
   sandbox/libs/reflection/doc/html/boost_reflection/performance_analysis.html (contents, props changed)
   sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial03.html (contents, props changed)
   sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial04.html (contents, props changed)
   sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial05.html (contents, props changed)
   sandbox/libs/reflection/doc/html/standalone_HTML.manifest (contents, props changed)
   sandbox/libs/reflection/doc/performance_analysis.qbk (contents, props changed)
   sandbox/libs/reflection/doc/quick_start.qbk (contents, props changed)
   sandbox/libs/reflection/doc/tutorial3.qbk (contents, props changed)
   sandbox/libs/reflection/doc/tutorial4.qbk (contents, props changed)
   sandbox/libs/reflection/doc/tutorial5.qbk (contents, props changed)
   sandbox/libs/reflection/doc/tutorial6.qbk (contents, props changed)
   sandbox/libs/reflection/test/parameter_map_test.cpp (contents, props changed)
Text files modified:
   sandbox/boost/reflection/parameter_map.hpp | 150 ++++++++++++++++++-------------
   sandbox/libs/extension/doc/extension.qbk | 2
   sandbox/libs/extension/doc/html/boost_extension/appendices/appendix_a.html | 2
   sandbox/libs/extension/doc/html/boost_extension/appendices/appendix_c.html | 4
   sandbox/libs/extension/doc/html/boost_extension/factories.html | 10 +-
   sandbox/libs/extension/doc/html/boost_extension/info.html | 18 +--
   sandbox/libs/extension/doc/html/boost_extension/introduction.html | 5
   sandbox/libs/extension/doc/html/boost_extension/performance_analysis.html | 11 +
   sandbox/libs/extension/doc/html/boost_extension/shared_libraries.html | 10 +-
   sandbox/libs/extension/doc/html/boost_extension/tutorials.html | 3
   sandbox/libs/extension/doc/html/boost_extension/tutorials/tutorial04.html | 4
   sandbox/libs/extension/doc/html/boost_extension/tutorials/tutorial05.html | 8
   sandbox/libs/extension/doc/html/index.html | 5
   sandbox/libs/extension/doc/info.qbk | 17 +--
   sandbox/libs/extension/doc/introduction.qbk | 6
   sandbox/libs/extension/doc/performance_analysis.qbk | 2
   sandbox/libs/extension/doc/quick_start.qbk | 2
   sandbox/libs/extension/doc/tutorial6.qbk | 2
   sandbox/libs/extension/doc/tutorials.qbk | 6
   sandbox/libs/reflection/doc/Jamfile.v2 | 6
   sandbox/libs/reflection/doc/html/boost_reflection/interpreter.html | 25 +++-
   sandbox/libs/reflection/doc/html/boost_reflection/introduction.html | 41 ++------
   sandbox/libs/reflection/doc/html/boost_reflection/tutorials.html | 25 ++--
   sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial01.html | 187 ++-------------------------------------
   sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial02.html | 136 ++--------------------------
   sandbox/libs/reflection/doc/html/index.html | 27 +++-
   sandbox/libs/reflection/doc/introduction.qbk | 19 ---
   sandbox/libs/reflection/doc/reflection.qbk | 14 +-
   sandbox/libs/reflection/doc/tutorial1.qbk | 123 -------------------------
   sandbox/libs/reflection/doc/tutorial2.qbk | 95 -------------------
   sandbox/libs/reflection/doc/tutorials.qbk | 9 -
   sandbox/libs/reflection/test/Jamfile.v2 | 4
   32 files changed, 246 insertions(+), 732 deletions(-)

Modified: sandbox/boost/reflection/parameter_map.hpp
==============================================================================
--- sandbox/boost/reflection/parameter_map.hpp (original)
+++ sandbox/boost/reflection/parameter_map.hpp 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -12,92 +12,119 @@
 
 #ifndef BOOST_REFLECTION_PARAMETER_MAP_HPP
 #define BOOST_REFLECTION_PARAMETER_MAP_HPP
-#include <boost/reflection/typeinfo.hpp>
+#include <boost/reflection/impl/typeinfo.hpp>
 #include <exception>
-#include <multimap>
+#include <map>
 #include <vector>
 namespace boost { namespace reflections {
-class param_not_found_exception : public std::exception {
+class conversion_not_found_exception : public std::exception {
 public:
   virtual const char* what() {
     return "Cannot convert types";
   }
 };
 typedef void (*FunctionPtr)();
-template <class TypeInfo>
+template <class TypeInfo = reflections::default_type_info>
 class generic_parameter {
 public:
- virtual ~basic_parameter() {}
- virtual TypeInfo type() = 0;
- template <class T>
- bool can_cast() {
- type_info i = type_info_handler<TypeInfo, T>::get_class_type();
- for (vector_type::const_iterator it = converter_.begin();
+ virtual ~generic_parameter() {
+ for (typename std::map<TypeInfo, basic_converter*>::iterator it = converters_.begin();
          it != converters_.end(); ++it) {
- if (it->first == i)
- return true;
+ delete it->second;
     }
   }
+ virtual TypeInfo type() = 0;
+ template <class T>
+ bool can_cast() {
+ TypeInfo i = type_info_handler<TypeInfo, T>::get_class_type();
+ return (converters_.find(i) != converters_.end());
+ }/*
   template <class T>
   T* cast() {
- type_info i = type_info_handler<TypeInfo, T>::get_class_type();
- for (vector_type::const_iterator it = converter_.begin();
+ TypeInfo i = type_info_handler<TypeInfo, T>::get_class_type();
+ for (typename vector_type::const_iterator it = converter_.begin();
          it != converters_.end(); ++it) {
       if (it->first == i)
         return true;
     }
- }
- tempate <class T>
- T cast() {
- type_info i = type_info_handler<TypeInfo, T>::get_class_type();
- for (vector_type::const_iterator it = converter_.begin();
- it != converters_.end(); ++it) {
- if (it->first == i) {
- T ret;
- cast_and_store(it, &ret);
- }
+ }*/
+ template <class S>
+ void cast(S* dest) {
+ TypeInfo i = type_info_handler<TypeInfo, S>::get_class_type();
+ typename std::map<TypeInfo, basic_converter*>::iterator it = converters_.find(i);
+ if (it != converters_.end()) {
+ it->second->convert(value_, reinterpret_cast<void*>(dest));
+ return;
     }
- throw param_not_found_exception();
+ throw conversion_not_found_exception();
+ }
+protected:
+ generic_parameter(void* value) : value_(value) {
   }
-protected
- void cast_and_store(vector_type::iterator it, void* dest);
+ class basic_converter {
+ public:
+ virtual void convert(void* src, void* dest) = 0;
+ virtual ~basic_converter() {};
+ };
+ // typedef std::vector<std::pair<TypeInfo, FunctionPtr> > vector_type;
+ // vector_type converters_;
+ std::map<TypeInfo, basic_converter*> converters_;
 private:
- typedef std::vector<std::pair<TypeInfo, FunctionPtr> > vector_type;
- vector_type converters_;
+ void* value_;
 };
 
-template <class S, class T>
-S convert(T val) {
- return static_cast<S>(T);
-}
-
-
-
 template <class T, class TypeInfo = reflections::default_type_info>
 class parameter : public generic_parameter<TypeInfo> {
 public:
- template <class A, B, C>
- friend class parameter_map;
+ template <class A, class B>
+ friend class basic_parameter_map;
   
- parameter(T value) : value_(value) {
+ virtual TypeInfo type() {
+ return reflections::type_info_handler<TypeInfo, T>::get_class_type();
+ }
+ parameter(T value)
+ : generic_parameter<TypeInfo>(reinterpret_cast<void*>(&value_)),
+ value_(value) {
     // Add converter for current type.
- converters_.push_back
+ generic_parameter<TypeInfo>::converters_.insert
       (make_pair(reflections::type_info_handler<TypeInfo, T>::get_class_type(),
- reinterpret_cast<FunctionPtr>(&convert<T, T&>)));
+ new default_converter<T>()));
   }
   template <class S>
- void converts_to(S (*convert_func)(T) = &convert<S, T>) {
- converters_.push_back
+ void converts_to_with_func(void (*convert_func)(T*, S*)) {
+ generic_parameter<TypeInfo>::converters_.insert
       (make_pair(reflections::type_info_handler<TypeInfo, S>::get_class_type(),
- reinterpret_cast<FunctionPtr>(convert_func)));
+ new specialized_converter<S>(convert_func)));
   }
   template <class S>
- void ref_converts_to(S (*convert_func)(T&) = &convert<S, T>) {
- converters_.push_back
+ void converts_to() {
+ generic_parameter<TypeInfo>::converters_.push_back
       (make_pair(reflections::type_info_handler<TypeInfo, S>::get_class_type(),
- reinterpret_cast<FunctionPtr>(convert_func)));
+ new default_converter<S>()));
   }
 private:
+
+ template <class S>
+ class default_converter : public generic_parameter<TypeInfo>::basic_converter {
+ public:
+ virtual void convert(void* val, void* dest) {
+ S* s = reinterpret_cast<S*>(dest);
+ *s = static_cast<S>(*reinterpret_cast<T*>(val));
+ }
+ };
+ template <class S>
+ class specialized_converter : public generic_parameter<TypeInfo>::basic_converter {
+ public:
+ specialized_converter(void (*convert_function)(T*, S*))
+ : convert_function_(convert_function) {
+ }
+ virtual void convert(TypeInfo type_info, T* val, void* dest) {
+ S* s = reinterpret_cast<S*>(dest);
+ (*convert_function_)(reinterpret_cast<T*>(val), s);
+ }
+ private:
+ void (*convert_function_)(T*, S*);
+ };
   T value_;
 };
 
@@ -111,34 +138,31 @@
 template <class Info = std::string,
           class TypeInfo = default_type_info>
 class basic_parameter_map
- : public std::multimap<Info, basic_parameter*> {
+ : public std::multimap<Info, generic_parameter<TypeInfo>*> {
 public:
   ~basic_parameter_map() {
- for (iterator it = begin(); it != end(); ++it) {
+ for (typename map_type::iterator it = begin(); it != end(); ++it) {
       delete it->second;
     }
   }
- typedef std::multimap<Info, basic_parameter*> map_type;
+ typedef std::multimap<Info, generic_parameter<TypeInfo>*> map_type;
   using map_type::equal_range;
   using map_type::begin;
   using map_type::end;
- typedef MapType::iterator iterator;
- template <class T>
- T get(Info info) {
- TypeInfo current_type =
- reflections::type_info_handler<TypeInfo, T>::get_class_type();
- std::pair<iterator, iterator> its = equal_range(info);
- for (iterator current = its->first; current != its->second; ++current) {
-
- for (current->second->type() == current_type) {
-
+ template <class D>
+ std::vector<generic_parameter<TypeInfo>*> get(Info info) {
+ std::vector<generic_parameter<TypeInfo>*> parameters;
+ std::pair<typename map_type::iterator, typename map_type::iterator> its = equal_range(info);
+ for (typename map_type::iterator current = its->first; current != its->second; ++current) {
+ generic_parameter<TypeInfo>& p = *current->second;
+ if (p.template can_cast<D>()) {
+ parameters.push_back(current->second);
       }
     }
+ return parameters;
   }
-private:
-
 };
-typedef basic_paramter_map<> parameter_map;
+typedef basic_parameter_map<> parameter_map;
 
 
 }}

Modified: sandbox/libs/extension/doc/extension.qbk
==============================================================================
--- sandbox/libs/extension/doc/extension.qbk (original)
+++ sandbox/libs/extension/doc/extension.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -16,7 +16,7 @@
         [@http://www.boost.org/LICENSE_1_0.txt http://www.boost.org/LICENSE_1_0.txt])
     ]
     [category Programming Interfaces]
- [last-revision $Date: 2007/9/15 9:05:00 $]
+ [last-revision $Date: 2008/2/9 17:05:00 $]
 ]
 
 

Modified: sandbox/libs/extension/doc/html/boost_extension/appendices/appendix_a.html
==============================================================================
--- sandbox/libs/extension/doc/html/boost_extension/appendices/appendix_a.html (original)
+++ sandbox/libs/extension/doc/html/boost_extension/appendices/appendix_a.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -41,7 +41,7 @@
         how this is done.
       </p>
 <a name="boost_extension.appendices.appendix_a.warning"></a><h3>
-<a name="id938047"></a>
+<a name="id938028"></a>
         Warning
       </h3>
 <p>

Modified: sandbox/libs/extension/doc/html/boost_extension/appendices/appendix_c.html
==============================================================================
--- sandbox/libs/extension/doc/html/boost_extension/appendices/appendix_c.html (original)
+++ sandbox/libs/extension/doc/html/boost_extension/appendices/appendix_c.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -32,10 +32,10 @@
 <div class="itemizedlist"><ul type="disc">
 <li>
           A bundle cannot be linked to statically (no inheriting from classes defined
- in bundles)
+ in bundles).
         </li>
 <li>
- A dylib cannot be unloaded
+ A dylib cannot be unloaded.
         </li>
 </ul></div>
 </div>

Modified: sandbox/libs/extension/doc/html/boost_extension/factories.html
==============================================================================
--- sandbox/libs/extension/doc/html/boost_extension/factories.html (original)
+++ sandbox/libs/extension/doc/html/boost_extension/factories.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
 <link rel="start" href="../index.html" title="Chapter 1. Boost.Extension 1.0">
 <link rel="up" href="../index.html" title="Chapter 1. Boost.Extension 1.0">
-<link rel="prev" href="tutorials/tutorial06.html" title=" Tutorial 6">
+<link rel="prev" href="tutorials/tutorial05.html" title=" Tutorial 5">
 <link rel="next" href="shared_libraries.html" title=" Shared Libraries">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="tutorials/tutorial06.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="shared_libraries.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="tutorials/tutorial05.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="shared_libraries.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -49,7 +49,7 @@
       are:
     </p>
 <a name="boost_extension.factories.void_set_lt_d_gt___"></a><h3>
-<a name="id934427"></a>
+<a name="id934409"></a>
       void set&lt;D&gt;()
     </h3>
 <p>
@@ -59,7 +59,7 @@
       This function may be called multiple times, to change the factory function.
     </p>
 <a name="boost_extension.factories.bool_is_valid__"></a><h3>
-<a name="id934467"></a>
+<a name="id934449"></a>
       bool is_valid()
     </h3>
 <p>
@@ -76,7 +76,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="tutorials/tutorial06.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="shared_libraries.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="tutorials/tutorial05.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="shared_libraries.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/libs/extension/doc/html/boost_extension/info.html
==============================================================================
--- sandbox/libs/extension/doc/html/boost_extension/info.html (original)
+++ sandbox/libs/extension/doc/html/boost_extension/info.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -30,20 +30,14 @@
     </p>
 <p>
       Info classes is a mechanism that allows you to store important information
- of each implementation. The type and utility of this information is arbitrary
+ about each derived class. The type and utility of this information is arbitrary
       as the Info class is a template argument of the factories where the user registers
       its own implementations, and for that reason any kind of information could
       be stored.
     </p>
 <p>
- Let's see how can we use it with an example first and then we will be able
- to summarize the concepts.
- </p>
-<p>
- Surely you remember our very first example, that of course it's called HelloWorld.
- Well, let's imagine that we now want a multi-language Hello World. Of course
- there are better ways of designing it, but as we want to picture how the Info
- class could be used we'll take this approach.
+ Let's return to the first example - Hello World. Well, let's imagine that we
+ now want a version of Hello World that supports multiple languages.
     </p>
 <p>
       First, we define an implementation of the <code class="literal">word</code> interface
@@ -213,7 +207,7 @@
     </p>
 <div class="informaltable">
 <h4>
-<a name="id937646"></a>
+<a name="id937620"></a>
       </h4>
 <table class="table">
 <colgroup><col></colgroup>
@@ -238,8 +232,8 @@
         class instance for each implementation, storing the needed data.
       </li>
 <li>
- Finally, we could use the <code class="literal">get_info</code> method in the main
- file to retrieve the data.
+ Finally, we could use the <code class="literal">get_val</code> method in the main file
+ to retrieve the data.
       </li>
 </ol></div>
 <p>

Modified: sandbox/libs/extension/doc/html/boost_extension/introduction.html
==============================================================================
--- sandbox/libs/extension/doc/html/boost_extension/introduction.html (original)
+++ sandbox/libs/extension/doc/html/boost_extension/introduction.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -31,10 +31,7 @@
       libraries and loaded by the application.
     </p>
 <p>
- The documentation is mostly complete.
- </p>
-<p>
- Note the following:
+ Among others, the library has the following features:
     </p>
 <div class="itemizedlist"><ul type="disc">
 <li>

Modified: sandbox/libs/extension/doc/html/boost_extension/performance_analysis.html
==============================================================================
--- sandbox/libs/extension/doc/html/boost_extension/performance_analysis.html (original)
+++ sandbox/libs/extension/doc/html/boost_extension/performance_analysis.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -35,8 +35,13 @@
       Finally we will discuss a small benchmark comparing two ways of using the library,
       using the optional boost::function.
     </p>
+<p>
+ Note that only minor optimization has been done of the code thus far. Once
+ the API is finalized (ie after the library is reviewed for acceptance into
+ Boost) more optimization will be performed.
+ </p>
 <a name="boost_extension.performance_analysis.first_comparison"></a><h1>
-<a name="id937778"></a>
+<a name="id937759"></a>
       First comparison
     </h1>
 <p>
@@ -68,7 +73,7 @@
       So Boost.Extension is (aprox.) three times slower.
     </p>
 <a name="boost_extension.performance_analysis.multiple_calls_and_libraries"></a><h1>
-<a name="id937855"></a>
+<a name="id937836"></a>
       Multiple calls and libraries
     </h1>
 <p>
@@ -117,7 +122,7 @@
       RTTI works across shared libraries.
     </p>
 <a name="boost_extension.performance_analysis.boost__function_overhead"></a><h1>
-<a name="id937850"></a>
+<a name="id937831"></a>
       boost::function overhead
     </h1>
 <p>

Modified: sandbox/libs/extension/doc/html/boost_extension/shared_libraries.html
==============================================================================
--- sandbox/libs/extension/doc/html/boost_extension/shared_libraries.html (original)
+++ sandbox/libs/extension/doc/html/boost_extension/shared_libraries.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -41,7 +41,7 @@
       </li>
 </ul></div>
 <a name="boost_extension.shared_libraries._code__phrase_role__identifier__shared_library__phrase__phrase_role__special_____phrase__phrase_role__keyword__const__phrase__nbsp__phrase_role__keyword__char__phrase__nbsp__phrase_role__special_____phrase__nbsp__phrase_role__identifier__location__phrase__phrase_role__special_____phrase__nbsp__phrase_role__keyword__bool__phrase__nbsp__phrase_role__identifier__auto_close__phrase__nbsp__phrase_role__special_____phrase__nbsp__phrase_role__keyword__false__phrase__phrase_role__special_____phrase___code_"></a><h4>
-<a name="id934532"></a>
+<a name="id934514"></a>
       <code class="computeroutput"><span class="identifier">shared_library</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">location</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">auto_close</span> <span class="special">=</span> <span class="keyword">false</span><span class="special">)</span></code>
     </h4>
 <p>
@@ -51,21 +51,21 @@
       does not open the library.
     </p>
 <a name="boost_extension.shared_libraries._code__phrase_role__keyword__bool__phrase__nbsp__phrase_role__identifier__open__phrase__phrase_role__special______phrase___code_"></a><h4>
-<a name="id934660"></a>
+<a name="id934641"></a>
       <code class="computeroutput"><span class="keyword">bool</span> <span class="identifier">open</span><span class="special">()</span></code>
     </h4>
 <p>
       Returns true if the library is opened successfully.
     </p>
 <a name="boost_extension.shared_libraries._code__phrase_role__keyword__bool__phrase__nbsp__phrase_role__identifier__is_open__phrase__phrase_role__special______phrase___code_"></a><h4>
-<a name="id934703"></a>
+<a name="id934685"></a>
       <code class="computeroutput"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span></code>
     </h4>
 <p>
       Returns true if the library is open.
     </p>
 <a name="boost_extension.shared_libraries._code__phrase_role__keyword__void__phrase__nbsp__phrase_role__identifier__close__phrase__phrase_role__special______phrase___code_"></a><h4>
-<a name="id934746"></a>
+<a name="id934728"></a>
       <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">()</span></code>
     </h4>
 <p>
@@ -77,7 +77,7 @@
       boost, by freeing up RAM, but will often do nothing.
     </p>
 <a name="boost_extension.shared_libraries._code__phrase_role__identifier__returnvalue__phrase__nbsp__phrase_role__special______phrase__phrase_role__identifier__get__phrase__phrase_role__special_____phrase__phrase_role__keyword__const__phrase__nbsp__phrase_role__keyword__char__phrase__nbsp__phrase_role__special_____phrase__nbsp__phrase_role__identifier__name__phrase__phrase_role__special_______phrase__phrase_role__identifier__args__phrase__phrase_role__special_____phrase___code_"></a><h4>
-<a name="id934792"></a>
+<a name="id934774"></a>
       <code class="computeroutput"><span class="identifier">ReturnValue</span> <span class="special">(*</span><span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">name</span><span class="special">))(</span><span class="identifier">ARGS</span><span class="special">)</span></code>
     </h4>
 <p>

Modified: sandbox/libs/extension/doc/html/boost_extension/tutorials.html
==============================================================================
--- sandbox/libs/extension/doc/html/boost_extension/tutorials.html (original)
+++ sandbox/libs/extension/doc/html/boost_extension/tutorials.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -31,10 +31,9 @@
 <dt><span class="section"> Tutorial 3</span></dt>
 <dt><span class="section"> Tutorial 4</span></dt>
 <dt><span class="section"> Tutorial 5</span></dt>
-<dt><span class="section"> Tutorial 6</span></dt>
 </dl></div>
 <p>
- There are currently five tutorials (the sixth is a placeholder).
+ There are currently five tutorials.
     </p>
 <p>
       The first tutorial is a basic hello world example.

Modified: sandbox/libs/extension/doc/html/boost_extension/tutorials/tutorial04.html
==============================================================================
--- sandbox/libs/extension/doc/html/boost_extension/tutorials/tutorial04.html (original)
+++ sandbox/libs/extension/doc/html/boost_extension/tutorials/tutorial04.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -154,7 +154,7 @@
       </p>
 <div class="informaltable">
 <h4>
-<a name="id928143"></a>
+<a name="id928141"></a>
         </h4>
 <table class="table">
 <colgroup><col></colgroup>
@@ -254,7 +254,7 @@
       </p>
 <div class="informaltable">
 <h4>
-<a name="id929247"></a>
+<a name="id929245"></a>
         </h4>
 <table class="table">
 <colgroup><col></colgroup>

Modified: sandbox/libs/extension/doc/html/boost_extension/tutorials/tutorial05.html
==============================================================================
--- sandbox/libs/extension/doc/html/boost_extension/tutorials/tutorial05.html (original)
+++ sandbox/libs/extension/doc/html/boost_extension/tutorials/tutorial05.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -7,7 +7,7 @@
 <link rel="start" href="../../index.html" title="Chapter 1. Boost.Extension 1.0">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="tutorial04.html" title=" Tutorial 4">
-<link rel="next" href="tutorial06.html" title=" Tutorial 6">
+<link rel="next" href="../factories.html" title=" Factories">
 </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="tutorial04.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial06.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="tutorial04.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../factories.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -294,7 +294,7 @@
       </p>
 <div class="informaltable">
 <h4>
-<a name="id934148"></a>
+<a name="id934145"></a>
         </h4>
 <table class="table">
 <colgroup><col></colgroup>
@@ -321,7 +321,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="tutorial04.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial06.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="tutorial04.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../factories.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/libs/extension/doc/html/index.html
==============================================================================
--- sandbox/libs/extension/doc/html/index.html (original)
+++ sandbox/libs/extension/doc/html/index.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -24,7 +24,7 @@
 <a name="boost_extension"></a>Chapter 1. Boost.Extension 1.0</h2></div>
 <div><p class="copyright">Copyright © 2007 Jeremy Pack, Mariano G. Consoni</p></div>
 <div><div class="legalnotice">
-<a name="id903159"></a><p>
+<a name="id903160"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -41,7 +41,6 @@
 <dt><span class="section"> Tutorial 3</span></dt>
 <dt><span class="section"> Tutorial 4</span></dt>
 <dt><span class="section"> Tutorial 5</span></dt>
-<dt><span class="section"> Tutorial 6</span></dt>
 </dl></dd>
 <dt><span class="section"> Factories</span></dt>
 <dt><span class="section"> Shared Libraries</span></dt>
@@ -57,7 +56,7 @@
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: September 15, 2007 at 9:05:00 GMT</small></p></td>
+<td align="left"><p><small>Last revised: February 9, 2008 at 17:05:00 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: sandbox/libs/extension/doc/info.qbk
==============================================================================
--- sandbox/libs/extension/doc/info.qbk (original)
+++ sandbox/libs/extension/doc/info.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -9,23 +9,18 @@
 
 In this section we explain how to use Info classes in Boost.Extension.
 
-Info classes is a mechanism that allows you to store important information of
-each implementation. The type and utility of this information is arbitrary as
+Info classes is a mechanism that allows you to store important information about
+each derived class. The type and utility of this information is arbitrary as
 the Info class is a template argument of the factories where the user registers
 its own implementations, and for that reason any kind of information could be
 stored.
 
-Let's see how can we use it with an example first and then we will be able to
-summarize the concepts.
-
-Surely you remember our very first example, that of course it's called
-HelloWorld. Well, let's imagine that we now want a multi-language Hello World.
-Of course there are better ways of designing it, but as we want to picture how
-the Info class could be used we'll take this approach.
+Let's return to the first example - Hello World. Well, let's imagine that we
+now want a version of Hello World that supports multiple languages.
 
 First, we define an implementation of the =word= interface for each combination
 of word and language. Then we have for example the class =monde= that implements
-the `word` interface for the french language in this case.
+the `word` interface for the french language in this case.
 
 Let's see the code:
 
@@ -175,7 +170,7 @@
 # We define the Info class.
 # When we add the implementations to the factory_map we construct a new Info class instance
 for each implementation, storing the needed data.
-# Finally, we could use the =get_info= method in the main file to retrieve the data.
+# Finally, we could use the =get_val= method in the main file to retrieve the data.
 
 Tutorial 5 describes a more complex example of the use of the Info class.
 

Modified: sandbox/libs/extension/doc/introduction.qbk
==============================================================================
--- sandbox/libs/extension/doc/introduction.qbk (original)
+++ sandbox/libs/extension/doc/introduction.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -10,10 +10,8 @@
 The Boost.Extension library has been developed to ease the development of
 plugins and similar extensions to software. Classes can be made available from
 shared libraries and loaded by the application.
-
-The documentation is mostly complete.
-
-Note the following:
+
+Among others, the library has the following features:
 
 * Multiple and virtual inheritance are supported
 * Library users do not need to use any macros (besides those required by Windows for exported functions)

Modified: sandbox/libs/extension/doc/performance_analysis.qbk
==============================================================================
--- sandbox/libs/extension/doc/performance_analysis.qbk (original)
+++ sandbox/libs/extension/doc/performance_analysis.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -15,6 +15,8 @@
 Finally we will discuss a small benchmark comparing two ways of using the
 library, using the optional boost::function.
 
+Note that only minor optimization has been done of the code thus far. Once the API is finalized (ie after the library is reviewed for acceptance into Boost) more optimization will be performed.
+
 [h1 First comparison]
 
 The first benchmarks show how much overhead is incurred by using Boost.Extension

Modified: sandbox/libs/extension/doc/quick_start.qbk
==============================================================================
--- sandbox/libs/extension/doc/quick_start.qbk (original)
+++ sandbox/libs/extension/doc/quick_start.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -7,7 +7,7 @@
 
 [section:quick_start Quick Start]
 
-For basic usage of the library, the tutorials
+For basic usage of the library, check out the tutorials
 
 [endsect]
 

Modified: sandbox/libs/extension/doc/tutorial6.qbk
==============================================================================
--- sandbox/libs/extension/doc/tutorial6.qbk (original)
+++ sandbox/libs/extension/doc/tutorial6.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -7,6 +7,6 @@
 
 [section:tutorial06 Tutorial 6]
 
-Insert content here.
+
 
 [endsect]
\ No newline at end of file

Modified: sandbox/libs/extension/doc/tutorials.qbk
==============================================================================
--- sandbox/libs/extension/doc/tutorials.qbk (original)
+++ sandbox/libs/extension/doc/tutorials.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -11,9 +11,8 @@
 [include tutorial3.qbk]
 [include tutorial4.qbk]
 [include tutorial5.qbk]
-[include tutorial6.qbk]
 
-There are currently five tutorials (the sixth is a placeholder).
+There are currently five tutorials.
 
 The first tutorial is a basic hello world example.
 
@@ -29,6 +28,5 @@
 The fifth tutorial is an advanced example of using the Info template parameter.
 There is a simpler usage of this parameter in the examples/info folder as well.
 
-The tutorial code can be found in the examples folder. They all share the same
-Jamfile, but the Jamfile contents are separated out for each tutorial.
+The tutorial code can be found in the examples folder. They all share the same Jamfile, but the Jamfile contents are separated out for each tutorial.
 [endsect]
\ No newline at end of file

Modified: sandbox/libs/reflection/doc/Jamfile.v2
==============================================================================
--- sandbox/libs/reflection/doc/Jamfile.v2 (original)
+++ sandbox/libs/reflection/doc/Jamfile.v2 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -1,6 +1,6 @@
 # Boost.Reflection - documentation Jamfile
 #
-# Copyright 2007 Mariano G. Consoni, Jeremy Pack
+# Copyright 2007 Jeremy Pack
 # Distributed under the Boost Software License, Version 1.0. (See
 # accompanying file LICENSE_1_0.txt or copy at
 # http://www.boost.org/LICENSE_1_0.txt)
@@ -23,5 +23,5 @@
 
     ;
 
-install html : ../boostbook.css ;
-install ../ : ../boost.png ;
+install html : $(BOOST_ROOT)/doc/html/boostbook.css ;
+install ../ : $(BOOST_ROOT)/boost.png ;

Added: sandbox/libs/reflection/doc/appendices.qbk
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/appendices.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,12 @@
+[/ Boost.Reflection - appendices ]
+[/ Copyright 2007 Jeremy Pack ]
+[/ Distributed under the Boost Software License, Version 1.0. (See]
+[/ accompanying file LICENSE_1_0.txt or copy at ]
+[/ http://www.boost.org/LICENSE_1_0.txt) ]
+[/ See http://www.boost.org/ for latest version. ]
+
+[section:appendices Appendices]
+[include appendix_a.qbk]
+[include appendix_b.qbk]
+[include appendix_c.qbk]
+[endsect]
\ No newline at end of file

Added: sandbox/libs/reflection/doc/appendix_a.qbk
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/appendix_a.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,9 @@
+[/ Boost.Reflection - windows export and import decs ]
+[/ Copyright 2007 Jeremy Pack ]
+[/ Distributed under the Boost Software License, Version 1.0. (See]
+[/ accompanying file LICENSE_1_0.txt or copy at ]
+[/ http://www.boost.org/LICENSE_1_0.txt) ]
+[/ See http://www.boost.org/ for latest version. ]
+
+[section:appendix_a Appendix A - Placeholder]
+[endsect]
\ No newline at end of file

Added: sandbox/libs/reflection/doc/appendix_b.qbk
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/appendix_b.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,9 @@
+[/ Boost.Reflection - optional libraries ]
+[/ Copyright 2007 Mariano G. Consoni ]
+[/ Distributed under the Boost Software License, Version 1.0. (See]
+[/ accompanying file LICENSE_1_0.txt or copy at ]
+[/ http://www.boost.org/LICENSE_1_0.txt) ]
+[/ See http://www.boost.org/ for latest version. ]
+
+[section:appendix_b Appendix B - Placeholder]
+[endsect]

Added: sandbox/libs/reflection/doc/appendix_c.qbk
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/appendix_c.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,10 @@
+[/ Boost.Reflection - OS X ]
+[/ Copyright 2007 Mariano G. Consoni ]
+[/ Distributed under the Boost Software License, Version 1.0. (See]
+[/ accompanying file LICENSE_1_0.txt or copy at ]
+[/ http://www.boost.org/LICENSE_1_0.txt) ]
+[/ See http://www.boost.org/ for latest version. ]
+
+[section:appendix_c Appendix C - Placeholder]
+
+[endsect]

Added: sandbox/libs/reflection/doc/extension.qbk
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/extension.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,10 @@
+[/ Boost.Reflection - main doc ]
+[/ Copyright 2007 Jeremy Pack ]
+[/ Distributed under the Boost Software License, Version 1.0. (See]
+[/ accompanying file LICENSE_1_0.txt or copy at ]
+[/ http://www.boost.org/LICENSE_1_0.txt) ]
+[/ See http://www.boost.org/ for latest version. ]
+
+[section:extension Boost.Extension Interoperability]
+
+[endsect]
\ No newline at end of file

Added: sandbox/libs/reflection/doc/faq.qbk
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/faq.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,10 @@
+[/ Boost.Reflection - faq ]
+[/ Copyright 2007 Jeremy Pack ]
+[/ Distributed under the Boost Software License, Version 1.0. (See]
+[/ accompanying file LICENSE_1_0.txt or copy at ]
+[/ http://www.boost.org/LICENSE_1_0.txt) ]
+[/ See http://www.boost.org/ for latest version. ]
+
+[section:faq FAQ]
+
+[endsect]
\ No newline at end of file

Added: sandbox/libs/reflection/doc/html/boost_reflection/appendices.html
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/html/boost_reflection/appendices.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,47 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Appendices</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="../index.html" title="Chapter 1. Boost.Reflection 1.0">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Reflection 1.0">
+<link rel="prev" href="performance_analysis.html" title=" Performance Analysis">
+<link rel="next" href="appendices/appendix_a.html" title=" Appendix A - Placeholder">
+</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="performance_analysis.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendices/appendix_a.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_reflection.appendices"></a> Appendices</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> Appendix A - Placeholder</span></dt>
+<dt><span class="section"> Appendix B - Placeholder</span></dt>
+<dt><span class="section"> Appendix C - Placeholder</span></dt>
+</dl></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 © 2007 -2008 Jeremy Pack, Mariano G. Consoni<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="performance_analysis.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendices/appendix_a.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/libs/reflection/doc/html/boost_reflection/appendices/appendix_a.html
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/html/boost_reflection/appendices/appendix_a.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,40 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Appendix A - Placeholder</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Reflection 1.0">
+<link rel="up" href="../appendices.html" title=" Appendices">
+<link rel="prev" href="../appendices.html" title=" Appendices">
+<link rel="next" href="appendix_b.html" title=" Appendix B - Placeholder">
+</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="../appendices.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendix_b.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title">
+<a name="boost_reflection.appendices.appendix_a"></a> Appendix A - Placeholder</h3></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2007 -2008 Jeremy Pack, Mariano G. Consoni<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../appendices.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendix_b.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/libs/reflection/doc/html/boost_reflection/appendices/appendix_b.html
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/html/boost_reflection/appendices/appendix_b.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,40 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Appendix B - Placeholder</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Reflection 1.0">
+<link rel="up" href="../appendices.html" title=" Appendices">
+<link rel="prev" href="appendix_a.html" title=" Appendix A - Placeholder">
+<link rel="next" href="appendix_c.html" title=" Appendix C - Placeholder">
+</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="appendix_a.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendix_c.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title">
+<a name="boost_reflection.appendices.appendix_b"></a> Appendix B - Placeholder</h3></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2007 -2008 Jeremy Pack, Mariano G. Consoni<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="appendix_a.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendix_c.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/libs/reflection/doc/html/boost_reflection/appendices/appendix_c.html
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/html/boost_reflection/appendices/appendix_c.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,39 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Appendix C - Placeholder</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Reflection 1.0">
+<link rel="up" href="../appendices.html" title=" Appendices">
+<link rel="prev" href="appendix_b.html" title=" Appendix B - Placeholder">
+</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="appendix_b.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a>
+</div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title">
+<a name="boost_reflection.appendices.appendix_c"></a> Appendix C - Placeholder</h3></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2007 -2008 Jeremy Pack, Mariano G. Consoni<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="appendix_b.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a>
+</div>
+</body>
+</html>

Modified: sandbox/libs/reflection/doc/html/boost_reflection/interpreter.html
==============================================================================
--- sandbox/libs/reflection/doc/html/boost_reflection/interpreter.html (original)
+++ sandbox/libs/reflection/doc/html/boost_reflection/interpreter.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title> Interpreter prototype</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
 <link rel="start" href="../index.html" title="Chapter 1. Boost.Reflection 1.0">
 <link rel="up" href="../index.html" title="Chapter 1. Boost.Reflection 1.0">
 <link rel="prev" href="tutorials/tutorial02.html" title=" Tutorial 2">
@@ -13,8 +13,8 @@
 <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">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -23,7 +23,7 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_reflection.interpreter"></a> Interpreter prototype</h2></div></div></div>
+<a name="boost_reflection.interpreter"></a> Interpreter prototype</h2></div></div></div>
 <p>
       In this section we will describe one of the examples. This example is special
       because it is one of the reasons that motivated the development of the library.
@@ -60,10 +60,15 @@
 <p>
       Let's see the session:
     </p>
-<div class="informaltable"><table class="table">
+<div class="informaltable">
+<h4>
+<a name="id906415"></a>
+ </h4>
+<table class="table">
 <colgroup></colgroup>
 <tbody></tbody>
-</table></div>
+</table>
+</div>
 <p>
       ^Boost.Reflection example - Prototype C++ interpreter.<br> <br> &gt; beetle=Compact(VWBeetle)<br>
       Instance [beetle] created.<br> &gt; beetle.start()<br> VWBeetle started.<br>
@@ -99,9 +104,13 @@
       to develop software that use the meta-information of its structure.
     </p>
 </div>
-<table width="100%"><tr>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2007 Mariano G. Consoni, Jeremy Pack</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2007 Mariano G. Consoni, Jeremy Pack<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">

Modified: sandbox/libs/reflection/doc/html/boost_reflection/introduction.html
==============================================================================
--- sandbox/libs/reflection/doc/html/boost_reflection/introduction.html (original)
+++ sandbox/libs/reflection/doc/html/boost_reflection/introduction.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title> Introduction</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
 <link rel="start" href="../index.html" title="Chapter 1. Boost.Reflection 1.0">
 <link rel="up" href="../index.html" title="Chapter 1. Boost.Reflection 1.0">
 <link rel="prev" href="../index.html" title="Chapter 1. Boost.Reflection 1.0">
@@ -14,42 +14,23 @@
 <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">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
 <a accesskey="p" href="../index.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tutorials.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_reflection.introduction"></a> Introduction</h2></div></div></div>
-<p>
- Reflection is the ability of a computer program to observe its structure and
- possibly modify it. Our library tries to achieve that objective, easing the
- development of this kind of programs and releasing the programmer of the task
- of constructing a meta-level layer describing the classes and methods.
- </p>
-<p>
- In short, Boost.Reflection has a set of classes that allows the programmer
- to store information about their C++ classes and methods, and use (call) them
- using run-time identifiers. For example, we can create a class, attach some
- meta-level information and then use run-time strings to select the method that
- we want to call.
- </p>
-<p>
- Unfortunately, the library is not fully developed yet. It only has the basic
- functionalities and it's not much than an interesting prototype on the subject.
- </p>
-<p>
- The documentation is, also, completely incomplete. Sorry. Look at tutorial
- #1 for examples of basic usage.
- </p>
-</div>
-<table width="100%"><tr>
+<div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_reflection.introduction"></a> Introduction</h2></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2007 Mariano G. Consoni, Jeremy Pack</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2007 -2008 Jeremy Pack, Mariano G. Consoni<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">

Added: sandbox/libs/reflection/doc/html/boost_reflection/performance_analysis.html
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/html/boost_reflection/performance_analysis.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Performance Analysis</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="../index.html" title="Chapter 1. Boost.Reflection 1.0">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Reflection 1.0">
+<link rel="prev" href="tutorials/tutorial05.html" title=" Tutorial 5">
+<link rel="next" href="appendices.html" title=" Appendices">
+</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="tutorials/tutorial05.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendices.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_reflection.performance_analysis"></a> Performance Analysis</h2></div></div></div>
+<p>
+ No performance analysis has yet been performed on the Reflection library.
+ </p>
+</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 © 2007 -2008 Jeremy Pack, Mariano G. Consoni<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorials/tutorial05.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendices.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/libs/reflection/doc/html/boost_reflection/tutorials.html
==============================================================================
--- sandbox/libs/reflection/doc/html/boost_reflection/tutorials.html (original)
+++ sandbox/libs/reflection/doc/html/boost_reflection/tutorials.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Tutorials</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
 <link rel="start" href="../index.html" title="Chapter 1. Boost.Reflection 1.0">
 <link rel="up" href="../index.html" title="Chapter 1. Boost.Reflection 1.0">
 <link rel="prev" href="introduction.html" title=" Introduction">
@@ -14,8 +14,8 @@
 <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">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -24,22 +24,25 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_reflection.tutorials"></a>Tutorials</h2></div></div></div>
+<a name="boost_reflection.tutorials"></a>Tutorials</h2></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"> Tutorial 1</span></dt>
 <dt><span class="section"> Tutorial 2</span></dt>
+<dt><span class="section"> Tutorial 3</span></dt>
+<dt><span class="section"> Tutorial 4</span></dt>
+<dt><span class="section"> Tutorial 5</span></dt>
 </dl></div>
 <p>
- We only have two tutorials for now. The first is the basic example and it shows
- the implemented functionalities. The second is about Boost.Extension integration.
- </p>
-<p>
- The tutorials code can be found in the examples folder.
+ These are placeholders.
     </p>
 </div>
-<table width="100%"><tr>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2007 Mariano G. Consoni, Jeremy Pack</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2007 -2008 Jeremy Pack, Mariano G. Consoni<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">

Modified: sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial01.html
==============================================================================
--- sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial01.html (original)
+++ sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial01.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title> Tutorial 1</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
 <link rel="start" href="../../index.html" title="Chapter 1. Boost.Reflection 1.0">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="../tutorials.html" title="Tutorials">
@@ -14,8 +14,8 @@
 <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">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -24,183 +24,18 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="boost_reflection.tutorials.tutorial01"></a> Tutorial 1</h3></div></div></div>
+<a name="boost_reflection.tutorials.tutorial01"></a> Tutorial 1</h3></div></div></div>
 <p>
- Let's create a car class. This will later be our reflected class.
- </p>
-<p>
-
-</p>
-<pre class="programlisting">
-<span class="keyword">class</span> <span class="identifier">car</span> <span class="special">{</span>
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name_</span><span class="special">;</span>
- <span class="keyword">bool</span> <span class="identifier">started_</span><span class="special">;</span>
-
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">car</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">car_name</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">name_</span><span class="special">(</span><span class="identifier">car_name</span><span class="special">),</span> <span class="identifier">started_</span><span class="special">(</span><span class="keyword">false</span><span class="special">)</span> <span class="special">{}</span>
-
- <span class="keyword">bool</span> <span class="identifier">start</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">name_</span> <span class="special">&lt;&lt;</span> <span class="string">" started."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">started_</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="keyword">true</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">bool</span> <span class="identifier">turn</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">angle</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span><span class="special">(</span><span class="identifier">started_</span><span class="special">)</span> <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Turning "</span> <span class="special">&lt;&lt;</span> <span class="identifier">name_</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span><span class="special">&lt;&lt;</span> <span class="identifier">angle</span> <span class="special">&lt;&lt;</span> <span class="string">" degrees."</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="keyword">true</span><span class="special">;</span>
- <span class="special">}</span> <span class="keyword">else</span> <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Cannot turn before starting the engine of "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">name_</span> <span class="special">&lt;&lt;</span> <span class="string">"."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="keyword">false</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="special">}</span>
- <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">car</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="special">{}</span>
-<span class="special">};</span>
-</pre>
-<p>
- </p>
-<p>
- It has methods for starting the engine and turning the car. Note that you
- can't turn before starting the engine (it has state).
- </p>
-<p>
- Now we will create the reflection for this class. Let's note that we don't
- have to add any MACRO to the original header file.
- </p>
-<p>
-
-</p>
-<pre class="programlisting">
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">extension</span><span class="special">::</span><span class="identifier">reflection</span><span class="special">&lt;</span><span class="identifier">car</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">car_reflection</span><span class="special">(</span><span class="string">"A Car!"</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- With this instruction we create a reflection. The template parameters describe
- the reflected class and the type that we will use to store additional data
- (the Info class). The parameter of the constructor is an instance of this
- class, in this case we use it to store a short description.
- </p>
-<p>
- Now that we have created the reflection (i.e. the place where we will store
- the meta-information of the class) we can start to add the methods.
- </p>
-<p>
-
-</p>
-<pre class="programlisting">
-<span class="identifier">car_reflection</span><span class="special">.</span><span class="identifier">add</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;(&amp;</span><span class="identifier">car</span><span class="special">::</span><span class="identifier">start</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span>
-<span class="identifier">car_reflection</span><span class="special">.</span><span class="identifier">add</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">,</span> <span class="keyword">float</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(&amp;</span><span class="identifier">car</span><span class="special">::</span><span class="identifier">turn</span><span class="special">,</span> <span class="string">"turn"</span><span class="special">,</span> <span class="string">"turn_angle"</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- We are adding here the two methods. First we add the start method. The template
- parameters indicate that we will identify this method by an int (3 in this
- case) and that the return type is bool. We also have to provide a pointer
- to the method.
- </p>
-<p>
- Then we add the second method. It's described by an string ("turn"
- in this case), and it returns a bool. Also we say that it receives a float
- and it's described by a string ("turn_angle").
- </p>
-<p>
- Having the methods stored in our reflection we can now see how to call them.
- We have two ways.
- </p>
-<p>
- First, let's define one instance to use the reflection on:
- </p>
-<p>
-
-</p>
-<pre class="programlisting">
-<span class="identifier">car</span> <span class="identifier">porsche_911</span><span class="special">(</span><span class="string">"Porsche 911"</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- The simplest one is the following:
- </p>
-<p>
-
-</p>
-<pre class="programlisting">
-<span class="identifier">car_reflection</span><span class="special">.</span><span class="identifier">call</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;(&amp;</span><span class="identifier">porsche_911</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- We just invoke the "call" method of the reflection. We provide
- the instance and the description of the method. Let's see how to use it when
- the method has parameters:
- </p>
-<p>
-
-</p>
-<pre class="programlisting">
-<span class="identifier">car_reflection</span><span class="special">.</span><span class="identifier">call</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">,</span>
- <span class="keyword">float</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(&amp;</span><span class="identifier">porsche_911</span><span class="special">,</span> <span class="string">"turn"</span><span class="special">,</span> <span class="special">.</span><span class="number">5f</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- Now we have to define with template arguments the way that we describe the
- method and the parameters. Also we have to provide the instance, the method
- description and the value of the parameter.
- </p>
-<p>
- Of course, this approach is a bit limited, because we have to provide a lot
- of information to call the actual method.
- </p>
-<p>
- Using meta-level programming we are trying to achieve a flexibility that
- could be mined with that requirements. Simply we don't have such information
- most of the time. Because of that we implemented a second way to call methods.
- </p>
-<p>
- First we define a parameter_map. We will store there the possible parameters.
- Note that we're defining an unneeded parameter. It'll be simply ignored.
- </p>
-<p>
-
-</p>
-<pre class="programlisting">
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">extension</span><span class="special">::</span><span class="identifier">parameter_map</span> <span class="identifier">pm</span><span class="special">;</span>
-<span class="identifier">pm</span><span class="special">.</span><span class="identifier">add</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(.</span><span class="number">15f</span><span class="special">,</span> <span class="string">"turn_angle"</span><span class="special">);</span>
-<span class="identifier">pm</span><span class="special">.</span><span class="identifier">add</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="number">50</span><span class="special">,</span> <span class="string">"acceleration"</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- Then we use this parameter_map to call the method and provide the needed
- parameters. In this way we just have to know the method ID.
- </p>
-<p>
- For example in the case of turn we could now call it with:
- </p>
-<p>
-
-</p>
-<pre class="programlisting">
-<span class="identifier">car_reflection</span><span class="special">.</span><span class="identifier">call</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="string">"turn"</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">porsche_911</span><span class="special">,</span> <span class="identifier">pm</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- This are the basic functionalities of the library that allows the programmer
- to generate the meta-class layer and use them dynamically at run-time.
+ This is a placeholder.
       </p>
 </div>
-<table width="100%"><tr>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2007 Mariano G. Consoni, Jeremy Pack</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2007 -2008 Jeremy Pack, Mariano G. Consoni<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">

Modified: sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial02.html
==============================================================================
--- sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial02.html (original)
+++ sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial02.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -3,151 +3,43 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title> Tutorial 2</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
 <link rel="start" href="../../index.html" title="Chapter 1. Boost.Reflection 1.0">
 <link rel="up" href="../tutorials.html" title="Tutorials">
 <link rel="prev" href="tutorial01.html" title=" Tutorial 1">
-<link rel="next" href="../interpreter.html" title=" Interpreter prototype">
+<link rel="next" href="tutorial03.html" title=" Tutorial 3">
 </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">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="tutorial01.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../interpreter.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="tutorial01.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial03.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="boost_reflection.tutorials.tutorial02"></a> Tutorial 2</h3></div></div></div>
+<a name="boost_reflection.tutorials.tutorial02"></a> Tutorial 2</h3></div></div></div>
 <p>
- In this tutorial we show how Boost.Extension could be integrated with Boost.Reflection.
- This relationship is important because we can load different factories with
- Boost.Extension (from dynamic link libraries) and then reflect its instances
- using Boost.Reflection.
- </p>
-<p>
- This example is based in the first tutorial , specially in the Reflection
- part. So it's preferred that the reader is familiarized with that tutorial,
- and of course has a basic understanding of Boost.Extension.
- </p>
-<p>
- First, we create a Boost.Extension based in our car interface. It defines
- two derived classes, and has the export declaration.
- </p>
-<p>
-
-</p>
-<pre class="programlisting">
-<span class="keyword">class</span> <span class="identifier">suv</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">car</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">suv</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">car</span><span class="special">(</span><span class="identifier">name</span><span class="special">)</span> <span class="special">{}</span>
- <span class="keyword">virtual</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">get_type</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="string">"It's a SUV."</span><span class="special">;</span> <span class="special">}</span>
- <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">suv</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="special">{}</span>
-<span class="special">};</span>
-
-<span class="keyword">class</span> <span class="identifier">compact</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">car</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">compact</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">car</span><span class="special">(</span><span class="identifier">name</span><span class="special">)</span> <span class="special">{}</span>
- <span class="keyword">virtual</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">get_type</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="string">"It's a compact."</span><span class="special">;</span> <span class="special">}</span>
- <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">compact</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="special">{}</span>
-<span class="special">};</span>
-</pre>
-<p>
- </p>
-<p>
-
-</p>
-<pre class="programlisting">
-<span class="keyword">extern</span> <span class="string">"C"</span>
-<span class="keyword">void</span> <span class="identifier">BOOST_EXTENSION_EXPORT_DECL</span>
-<span class="identifier">extension_export_car</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">extensions</span><span class="special">::</span><span class="identifier">factory_map</span> <span class="special">&amp;</span> <span class="identifier">fm</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">fm</span><span class="special">.</span><span class="identifier">add</span><span class="special">&lt;</span><span class="identifier">suv</span><span class="special">,</span> <span class="identifier">car</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="string">"SUV"</span><span class="special">);</span>
- <span class="identifier">fm</span><span class="special">.</span><span class="identifier">add</span><span class="special">&lt;</span><span class="identifier">compact</span><span class="special">,</span> <span class="identifier">car</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="string">"Compact"</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- We compile it as a dynamic link library that will be loaded from the main
- program.
- </p>
-<p>
- Having the library we could start our main program. We'll define our reflection
- (creating it and adding methods) and them we'll cycle the factories, create
- some instances and use our reflection to call methods.
- </p>
-<p>
- Let's define the reflection, very similar to the one in tutorial 1:
- </p>
-<p>
-
-</p>
-<pre class="programlisting">
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">extension</span><span class="special">::</span><span class="identifier">reflection</span><span class="special">&lt;</span><span class="identifier">car</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">car_reflection</span><span class="special">(</span><span class="string">"A Car!"</span><span class="special">);</span>
-<span class="identifier">car_reflection</span><span class="special">.</span><span class="identifier">add</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;(&amp;</span><span class="identifier">car</span><span class="special">::</span><span class="identifier">start</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span>
-<span class="identifier">car_reflection</span><span class="special">.</span><span class="identifier">add</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">,</span> <span class="keyword">float</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(&amp;</span><span class="identifier">car</span><span class="special">::</span><span class="identifier">turn</span><span class="special">,</span> <span class="string">"turn"</span><span class="special">,</span> <span class="string">"turn_angle"</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- Now we load the dynamic link library:
- </p>
-<p>
-
-</p>
-<pre class="programlisting">
-<span class="identifier">load_single_library</span><span class="special">(</span><span class="identifier">fm</span><span class="special">,</span> <span class="string">"libcar_lib.extension"</span><span class="special">,</span>
- <span class="string">"extension_export_car"</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="identifier">factory</span><span class="special">&lt;</span><span class="identifier">car</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">factory_list</span> <span class="special">=</span>
- <span class="identifier">fm</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">car</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;();</span>
-</pre>
-<p>
- </p>
-<p>
- Now, the interesting part. We iterate the factories searching for a Compacts
- factory. When we find it we create an instance, and then we use our car reflection
- to call the 3 method (start).
- </p>
-<p>
-
-</p>
-<pre class="programlisting">
-<span class="keyword">for</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="identifier">factory</span><span class="special">&lt;</span><span class="identifier">car</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="special">&gt;</span>
- <span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">current_car</span> <span class="special">=</span> <span class="identifier">factory_list</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span>
- <span class="identifier">current_car</span> <span class="special">!=</span> <span class="identifier">factory_list</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span>
- <span class="special">++</span><span class="identifier">current_car</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span><span class="special">(</span><span class="identifier">current_car</span><span class="special">-&gt;</span><span class="identifier">get_info</span><span class="special">()</span> <span class="special">==</span> <span class="string">"Compact"</span><span class="special">)</span> <span class="special">{</span>
- <span class="identifier">car</span> <span class="special">*</span><span class="identifier">beetle</span><span class="special">(</span><span class="identifier">current_car</span><span class="special">-&gt;</span><span class="identifier">create</span><span class="special">(</span><span class="string">"VW New Beetle"</span><span class="special">));</span>
- <span class="identifier">car_reflection</span><span class="special">.</span><span class="identifier">call</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;(</span><span class="identifier">beetle</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span>
- <span class="keyword">delete</span> <span class="identifier">beetle</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- In this way you can load instance factories dynamically, and then use your
- reflections to access your methods.
+ This is a placeholder.
       </p>
 </div>
-<table width="100%"><tr>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2007 Mariano G. Consoni, Jeremy Pack</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2007 -2008 Jeremy Pack, Mariano G. Consoni<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="tutorial01.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../interpreter.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="tutorial01.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial03.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial03.html
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial03.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Tutorial 3</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Reflection 1.0">
+<link rel="up" href="../tutorials.html" title="Tutorials">
+<link rel="prev" href="tutorial02.html" title=" Tutorial 2">
+<link rel="next" href="tutorial04.html" title=" Tutorial 4">
+</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="tutorial02.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial04.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_reflection.tutorials.tutorial03"></a> Tutorial 3</h3></div></div></div>
+<p>
+ This is a placeholder.
+ </p>
+</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 © 2007 -2008 Jeremy Pack, Mariano G. Consoni<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial02.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial04.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial04.html
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial04.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Tutorial 4</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Reflection 1.0">
+<link rel="up" href="../tutorials.html" title="Tutorials">
+<link rel="prev" href="tutorial03.html" title=" Tutorial 3">
+<link rel="next" href="tutorial05.html" title=" Tutorial 5">
+</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="tutorial03.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial05.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_reflection.tutorials.tutorial04"></a> Tutorial 4</h3></div></div></div>
+<p>
+ This is a placeholder.
+ </p>
+</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 © 2007 -2008 Jeremy Pack, Mariano G. Consoni<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial03.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial05.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial05.html
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/html/boost_reflection/tutorials/tutorial05.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Tutorial 5</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Reflection 1.0">
+<link rel="up" href="../tutorials.html" title="Tutorials">
+<link rel="prev" href="tutorial04.html" title=" Tutorial 4">
+<link rel="next" href="../performance_analysis.html" title=" Performance Analysis">
+</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="tutorial04.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../performance_analysis.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_reflection.tutorials.tutorial05"></a> Tutorial 5</h3></div></div></div>
+<p>
+ This is a placeholder.
+ </p>
+</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 © 2007 -2008 Jeremy Pack, Mariano G. Consoni<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial04.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorials.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../performance_analysis.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/libs/reflection/doc/html/index.html
==============================================================================
--- sandbox/libs/reflection/doc/html/index.html (original)
+++ sandbox/libs/reflection/doc/html/index.html 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Chapter 1. Boost.Reflection 1.0</title>
 <link rel="stylesheet" href="boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.67.2">
 <link rel="start" href="index.html" title="Chapter 1. Boost.Reflection 1.0">
 <link rel="next" href="boost_reflection/introduction.html" title=" Introduction">
 </head>
@@ -12,8 +12,8 @@
 <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">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -22,9 +22,9 @@
 <div class="titlepage"><div>
 <div><h2 class="title">
 <a name="boost_reflection"></a>Chapter 1. Boost.Reflection 1.0</h2></div>
-<div><p class="copyright">Copyright © 2007 Mariano G. Consoni, Jeremy Pack</p></div>
+<div><p class="copyright">Copyright © 2007 -2008 Jeremy Pack, Mariano G. Consoni</p></div>
 <div><div class="legalnotice">
-<a name="id2555061"></a><p>
+<a name="id903160"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -38,14 +38,23 @@
 <dd><dl>
 <dt><span class="section"> Tutorial 1</span></dt>
 <dt><span class="section"> Tutorial 2</span></dt>
+<dt><span class="section"> Tutorial 3</span></dt>
+<dt><span class="section"> Tutorial 4</span></dt>
+<dt><span class="section"> Tutorial 5</span></dt>
+</dl></dd>
+<dt><span class="section"> Performance Analysis</span></dt>
+<dt><span class="section"> Appendices</span></dt>
+<dd><dl>
+<dt><span class="section"> Appendix A - Placeholder</span></dt>
+<dt><span class="section"> Appendix B - Placeholder</span></dt>
+<dt><span class="section"> Appendix C - Placeholder</span></dt>
 </dl></dd>
-<dt><span class="section"> Interpreter prototype</span></dt>
 </dl>
 </div>
 </div>
-<table width="100%"><tr>
-<td align="left"><p><small>Last revised: April 30, 2007 at 12:00:00 GMT</small></p></td>
-<td align="right"><small></small></td>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: February 9, 2008 at 18:05:00 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav"><a accesskey="n" href="boost_reflection/introduction.html"><img src="../../doc/html/images/next.png" alt="Next"></a></div>

Added: sandbox/libs/reflection/doc/html/standalone_HTML.manifest
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/html/standalone_HTML.manifest 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,13 @@
+index.html
+boost_reflection/introduction.html
+boost_reflection/tutorials.html
+boost_reflection/tutorials/tutorial01.html
+boost_reflection/tutorials/tutorial02.html
+boost_reflection/tutorials/tutorial03.html
+boost_reflection/tutorials/tutorial04.html
+boost_reflection/tutorials/tutorial05.html
+boost_reflection/performance_analysis.html
+boost_reflection/appendices.html
+boost_reflection/appendices/appendix_a.html
+boost_reflection/appendices/appendix_b.html
+boost_reflection/appendices/appendix_c.html

Modified: sandbox/libs/reflection/doc/introduction.qbk
==============================================================================
--- sandbox/libs/reflection/doc/introduction.qbk (original)
+++ sandbox/libs/reflection/doc/introduction.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -1,5 +1,5 @@
 [/ Boost.Reflection - intro ]
-[/ Copyright 2007 Mariano G. Consoni, Jeremy Pack ]
+[/ Copyright 2007 Jeremy Pack ]
 [/ Distributed under the Boost Software License, Version 1.0. (See]
 [/ accompanying file LICENSE_1_0.txt or copy at ]
 [/ http://www.boost.org/LICENSE_1_0.txt) ]
@@ -7,21 +7,4 @@
 
 [section:introduction Introduction]
 
-Reflection is the ability of a computer program to observe its structure and
-possibly modify it. Our library tries to achieve that objective, easing the
-development of this kind of programs and releasing the programmer of the
-task of constructing a meta-level layer describing the classes and methods.
-
-In short, Boost.Reflection has a set of classes that allows the programmer to
-store information about their C++ classes and methods, and use (call) them
-using run-time identifiers. For example, we can create a class, attach some
-meta-level information and then use run-time strings to select the method that
-we want to call.
-
-Unfortunately, the library is not fully developed yet. It only has the basic
-functionalities and it's not much than an interesting prototype on the subject.
-
-The documentation is, also, completely incomplete. Sorry. Look at tutorial #1
-for examples of basic usage.
-
 [endsect]

Added: sandbox/libs/reflection/doc/performance_analysis.qbk
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/performance_analysis.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,12 @@
+[/ Boost.Reflection - performance analysis ]
+[/ Copyright 2007 Mariano G. Consoni and Jeremy Pack]
+[/ Distributed under the Boost Software License, Version 1.0. (See]
+[/ accompanying file LICENSE_1_0.txt or copy at ]
+[/ http://www.boost.org/LICENSE_1_0.txt) ]
+[/ See http://www.boost.org/ for latest version. ]
+
+[section:performance_analysis Performance Analysis]
+
+No performance analysis has yet been performed on the Reflection library.
+
+[endsect]
\ No newline at end of file

Added: sandbox/libs/reflection/doc/quick_start.qbk
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/quick_start.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,13 @@
+[/ Boost.Reflection - quick start ]
+[/ Copyright 2007 Jeremy Pack ]
+[/ Distributed under the Boost Software License, Version 1.0. (See]
+[/ accompanying file LICENSE_1_0.txt or copy at ]
+[/ http://www.boost.org/LICENSE_1_0.txt) ]
+[/ See http://www.boost.org/ for latest version. ]
+
+[section:quick_start Quick Start]
+
+For basic usage of the library, check out the tutorials.
+
+[endsect]
+

Modified: sandbox/libs/reflection/doc/reflection.qbk
==============================================================================
--- sandbox/libs/reflection/doc/reflection.qbk (original)
+++ sandbox/libs/reflection/doc/reflection.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -6,22 +6,20 @@
 [/ See http://www.boost.org/ for latest version. ]
 
 [library Boost.Reflection
- [quickbook 1.3]
+ [quickbook 1.4]
     [version 1.0]
- [copyright 2007 Mariano G. Consoni, Jeremy Pack]
- [purpose Reflection techniques for C++, meta-classes]
+ [copyright 2007-2008 Jeremy Pack, Mariano G. Consoni]
+ [purpose Run-time reflection]
     [license
         Distributed under the Boost Software License, Version 1.0.
         (See accompanying file LICENSE_1_0.txt or copy at
         [@http://www.boost.org/LICENSE_1_0.txt http://www.boost.org/LICENSE_1_0.txt])
     ]
     [category Programming Interfaces]
- [last-revision $Date: 2007/4/30 12:00:00 $]
+ [last-revision $Date: 2008/2/9 18:05:00 $]
 ]
 
-
-
 [include introduction.qbk]
 [include tutorials.qbk]
-[include interpreter.qbk]
-
+[include performance_analysis.qbk]
+[include appendices.qbk]

Modified: sandbox/libs/reflection/doc/tutorial1.qbk
==============================================================================
--- sandbox/libs/reflection/doc/tutorial1.qbk (original)
+++ sandbox/libs/reflection/doc/tutorial1.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -1,5 +1,5 @@
 [/ Boost.Reflection - first tutorial ]
-[/ Copyright 2007 Mariano G. Consoni ]
+[/ Copyright 2007 Jeremy Pack ]
 [/ Distributed under the Boost Software License, Version 1.0. (See]
 [/ accompanying file LICENSE_1_0.txt or copy at ]
 [/ http://www.boost.org/LICENSE_1_0.txt) ]
@@ -8,125 +8,6 @@
 
 [section:tutorial01 Tutorial 1]
 
-Let's create a car class. This will later be our reflected class.
-
-``
-class car {
-private:
- std::string name_;
- bool started_;
-
-public:
- car(std::string car_name) : name_(car_name), started_(false) {}
-
- bool start(void) {
- std::cout << name_ << " started." << std::endl;
- started_ = true;
- return true;
- }
-
- bool turn(float angle)
- {
- if(started_) {
- std::cout << "Turning " << name_ << " "<< angle << " degrees."
- << std::endl;
- return true;
- } else {
- std::cout << "Cannot turn before starting the engine of "
- << name_ << "." << std::endl;
- return false;
- }
- }
- virtual ~car(void) {}
-};
-``
-
-It has methods for starting the engine and turning the car. Note that you can't
-turn before starting the engine (it has state).
-
-Now we will create the reflection for this class. Let's note that we don't have
-to add any MACRO to the original header file.
-
-``
- boost::extension::reflection<car, std::string> car_reflection("A Car!");
-``
-
-With this instruction we create a reflection. The template parameters describe
-the reflected class and the type that we will use to store additional data (the
-Info class). The parameter of the constructor is an instance of this class, in
-this case we use it to store a short description.
-
-Now that we have created the reflection (i.e. the place where we will store
-the meta-information of the class) we can start to add the methods.
-
-``
- car_reflection.add<int, bool>(&car::start, 3);
- car_reflection.add<std::string, bool, float,
- std::string>(&car::turn, "turn", "turn_angle");
-``
-
-We are adding here the two methods. First we add the start method. The template
-parameters indicate that we will identify this method by an int (3 in this case) and
-that the return type is bool. We also have to provide a pointer to the method.
-
-Then we add the second method. It's described by an string ("turn" in this
-case), and it returns a bool. Also we say that it receives a float and it's
-described by a string ("turn_angle").
-
-Having the methods stored in our reflection we can now see how to call them.
-We have two ways.
-
-First, let's define one instance to use the reflection on:
-
-``
- car porsche_911("Porsche 911");
-``
-
-The simplest one is the following:
-
-``
- car_reflection.call<int, bool>(&porsche_911, 3);
-``
-
-We just invoke the "call" method of the reflection. We provide the instance
-and the description of the method. Let's see how to use it when the method has
-parameters:
-
-``
- car_reflection.call<std::string, bool,
- float, std::string>(&porsche_911, "turn", .5f);
-``
-
-Now we have to define with template arguments the way that we describe the
-method and the parameters. Also we have to provide the instance, the method
-description and the value of the parameter.
-
-Of course, this approach is a bit limited, because we have to provide a lot of
-information to call the actual method.
-
-Using meta-level programming we are trying to achieve a flexibility that
-could be mined with that requirements. Simply we don't have such information
-most of the time. Because of that we implemented a second way to call methods.
-
-First we define a parameter_map. We will store there the possible parameters.
-Note that we're defining an unneeded parameter. It'll be simply ignored.
-
-``
- boost::extension::parameter_map pm;
- pm.add<float, std::string>(.15f, "turn_angle");
- pm.add<int, std::string>(50, "acceleration");
-``
-
-Then we use this parameter_map to call the method and provide the needed
-parameters. In this way we just have to know the method ID.
-
-For example in the case of turn we could now call it with:
-
-``
- car_reflection.call<std::string>("turn", &porsche_911, pm);
-``
-
-This are the basic functionalities of the library that allows the programmer
-to generate the meta-class layer and use them dynamically at run-time.
+This is a placeholder.
 
 [endsect]
\ No newline at end of file

Modified: sandbox/libs/reflection/doc/tutorial2.qbk
==============================================================================
--- sandbox/libs/reflection/doc/tutorial2.qbk (original)
+++ sandbox/libs/reflection/doc/tutorial2.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -1,99 +1,10 @@
-[/ Boost.Reflection - boost.extension tutorial ]
-[/ Copyright 2007 Mariano G. Consoni ]
+[/ Boost.Reflection - second tutorial ]
+[/ Copyright 2007 Jeremy Pack ]
 [/ Distributed under the Boost Software License, Version 1.0. (See]
 [/ accompanying file LICENSE_1_0.txt or copy at ]
 [/ http://www.boost.org/LICENSE_1_0.txt) ]
 [/ See http://www.boost.org/ for latest version. ]
 
-
 [section:tutorial02 Tutorial 2]
-
-In this tutorial we show how Boost.Extension could be integrated with
-Boost.Reflection. This relationship is important because
-we can load different factories with Boost.Extension (from dynamic link
-libraries) and then reflect its instances using Boost.Reflection.
-
-This example is based in the first tutorial , specially in the Reflection
-part. So it's preferred that the reader is familiarized with that
-tutorial, and of course has a basic understanding of Boost.Extension.
-
-First, we create a Boost.Extension based in our car interface. It
-defines two derived classes, and has the export declaration.
-
-``
-class suv : public car
-{
-public:
- suv(const std::string name) : car(name) {}
- virtual std::string get_type(void) { return "It's a SUV."; }
- virtual ~suv(void) {}
-};
-
-class compact : public car
-{
-public:
- compact(const std::string name) : car(name) {}
- virtual std::string get_type(void) { return "It's a compact."; }
- virtual ~compact(void) {}
-};
-``
-
-``
-extern "C"
-void BOOST_EXTENSION_EXPORT_DECL
-extension_export_car(boost::extensions::factory_map & fm)
-{
- fm.add<suv, car, std::string, std::string>("SUV");
- fm.add<compact, car, std::string, std::string>("Compact");
-}
-``
-
-We compile it as a dynamic link library that will be loaded from the
-main program.
-
-Having the library we could start our main program. We'll define our
-reflection (creating it and adding methods) and them we'll cycle
-the factories, create some instances and use our reflection to
-call methods.
-
-Let's define the reflection, very similar to the one in tutorial 1:
-
-``
- boost::extension::reflection<car, std::string> car_reflection("A Car!");
- car_reflection.add<int, bool>(&car::start, 3);
- car_reflection.add<std::string, bool, float,
- std::string>(&car::turn, "turn", "turn_angle");
-``
-
-Now we load the dynamic link library:
-
-``
- load_single_library(fm, "libcar_lib.extension",
- "extension_export_car");
- std::list<factory<car, std::string, std::string> > & factory_list =
- fm.get<car, std::string, std::string>();
-``
-
-Now, the interesting part. We iterate the factories searching for
-a Compacts factory. When we find it we create an instance, and then
-we use our car reflection to call the 3 method (start).
-
-``
- for (std::list<factory<car, std::string, std::string> >
- ::iterator current_car = factory_list.begin();
- current_car != factory_list.end();
- ++current_car)
- {
- if(current_car->get_info() == "Compact") {
- car *beetle(current_car->create("VW New Beetle"));
- car_reflection.call<int, bool>(beetle, 3);
- delete beetle;
- }
- }
-``
-
-In this way you can load instance factories dynamically, and then
-use your reflections to access your methods.
-
-
+This is a placeholder.
 [endsect]
\ No newline at end of file

Added: sandbox/libs/reflection/doc/tutorial3.qbk
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/tutorial3.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,13 @@
+[/ Boost.Reflection - third tutorial ]
+[/ Copyright 2007 Mariano G. Consoni ]
+[/ Distributed under the Boost Software License, Version 1.0. (See]
+[/ accompanying file LICENSE_1_0.txt or copy at ]
+[/ http://www.boost.org/LICENSE_1_0.txt) ]
+[/ See http://www.boost.org/ for latest version. ]
+
+
+[section:tutorial03 Tutorial 3]
+
+This is a placeholder.
+
+[endsect]
\ No newline at end of file

Added: sandbox/libs/reflection/doc/tutorial4.qbk
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/tutorial4.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,12 @@
+[/ Boost.Reflection - fourth tutorial ]
+[/ Copyright 2007 Mariano G. Consoni ]
+[/ Distributed under the Boost Software License, Version 1.0. (See]
+[/ accompanying file LICENSE_1_0.txt or copy at ]
+[/ http://www.boost.org/LICENSE_1_0.txt) ]
+[/ See http://www.boost.org/ for latest version. ]
+
+[section:tutorial04 Tutorial 4]
+
+This is a placeholder.
+
+[endsect]
\ No newline at end of file

Added: sandbox/libs/reflection/doc/tutorial5.qbk
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/tutorial5.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,12 @@
+[/ Boost.Reflection - fifth tutorial ]
+[/ Copyright 2007 Mariano G. Consoni ]
+[/ Distributed under the Boost Software License, Version 1.0. (See]
+[/ accompanying file LICENSE_1_0.txt or copy at ]
+[/ http://www.boost.org/LICENSE_1_0.txt) ]
+[/ See http://www.boost.org/ for latest version. ]
+
+[section:tutorial05 Tutorial 5]
+
+This is a placeholder.
+
+[endsect]
\ No newline at end of file

Added: sandbox/libs/reflection/doc/tutorial6.qbk
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/doc/tutorial6.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,12 @@
+[/ Boost.Reflection - sixth tutorial ]
+[/ Copyright 2007 Mariano G. Consoni ]
+[/ Distributed under the Boost Software License, Version 1.0. (See]
+[/ accompanying file LICENSE_1_0.txt or copy at ]
+[/ http://www.boost.org/LICENSE_1_0.txt) ]
+[/ See http://www.boost.org/ for latest version. ]
+
+[section:tutorial06 Tutorial 6]
+
+This is a placeholder.
+
+[endsect]
\ No newline at end of file

Modified: sandbox/libs/reflection/doc/tutorials.qbk
==============================================================================
--- sandbox/libs/reflection/doc/tutorials.qbk (original)
+++ sandbox/libs/reflection/doc/tutorials.qbk 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -8,11 +8,10 @@
 [section Tutorials]
 [include tutorial1.qbk]
 [include tutorial2.qbk]
+[include tutorial3.qbk]
+[include tutorial4.qbk]
+[include tutorial5.qbk]
 
-We only have two tutorials for now. The first is the basic example
-and it shows the implemented functionalities. The second is about
-Boost.Extension integration.
-
-The tutorials code can be found in the examples folder.
+These are placeholders.
 
 [endsect]
\ No newline at end of file

Modified: sandbox/libs/reflection/test/Jamfile.v2
==============================================================================
--- sandbox/libs/reflection/test/Jamfile.v2 (original)
+++ sandbox/libs/reflection/test/Jamfile.v2 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -25,7 +25,9 @@
 
 
 test-suite reflection_tests_all
-: [ run basic_test.cpp ]
+:
+ [ run parameter_map_test.cpp ]
+ [ run basic_test.cpp ]
   [ run single_param_test.cpp ]
   [ run shared_library_test.cpp ]
   [ run multi_param_test.cpp ]

Added: sandbox/libs/reflection/test/parameter_map_test.cpp
==============================================================================
--- (empty file)
+++ sandbox/libs/reflection/test/parameter_map_test.cpp 2008-02-09 21:55:38 EST (Sat, 09 Feb 2008)
@@ -0,0 +1,27 @@
+/*
+ * Boost.Reflection / basic unit test
+ *
+ * (C) Copyright Jeremy Pack 2007
+ * Distributed under the Boost Software License, Version 1.0. (See
+ * accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt)
+ *
+ * See http://www.boost.org/ for latest version.
+ */
+
+
+#include <string>
+#include <iostream>
+
+#define BOOST_TEST_MAIN
+#define BOOST_TEST_DYN_LINK 1
+#include <boost/test/unit_test.hpp>
+#include <boost/reflection/parameter_map.hpp>
+
+using boost::reflections::parameter_map;
+using boost::reflections::generic_parameter;
+using boost::reflections::parameter;
+BOOST_AUTO_TEST_CASE(construction) {
+ parameter<int> i_param(5);
+ parameter_map m;
+}
\ No newline at end of file


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