$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r51865 - in sandbox/mirror: boost/mirror boost/mirror/detail boost/mirror/meta_path boost/mirror/visitors doc/html doc/html/boost/cts doc/html/boost/mirror doc/html/char_type_switch doc/html/mirror libs/mirror/doc
From: chochlik_at_[hidden]
Date: 2009-03-20 07:20:12
Author: matus.chochlik
Date: 2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
New Revision: 51865
URL: http://svn.boost.org/trac/boost/changeset/51865
Log:
[mirror 0.3.x]
- major rewrite of the traversals 
- the presence of the visitor's member function is detected
  automatically
- minor documentation update
Added:
   sandbox/mirror/boost/mirror/detail/visitor_traits.hpp   (contents, props changed)
Text files modified: 
   sandbox/mirror/boost/mirror/detail/traversal.hpp                    |   800 ++++++++++++++++++++++++++++++++++----- 
   sandbox/mirror/boost/mirror/meta_path/node_context.hpp              |     5                                         
   sandbox/mirror/boost/mirror/traversal.hpp                           |    48 --                                      
   sandbox/mirror/boost/mirror/visitors/meta_path_sample.hpp           |    24 -                                       
   sandbox/mirror/doc/html/BOOST_CTS_LIT.html                          |     8                                         
   sandbox/mirror/doc/html/BOOST_CTS_LIT_LENGTH.html                   |     8                                         
   sandbox/mirror/doc/html/BOOST_CTS_STRINGIZE.html                    |     8                                         
   sandbox/mirror/doc/html/BOOST_CTS_USE_WIDE_CHARS.html               |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRRORED_CLASS.html                   |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRRORED_GLOBAL_SCOPE.html            |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRRORED_NAMESPACE.html               |     6                                         
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE.html                    |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF.html                 |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html    |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GS.html              |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEOF.html                  |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE_NS.html                 |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_NAMESPACE.html             |     6                                         
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE.html                  |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF.html               |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE.html  |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GS.html            |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMB.html              |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMBEDDED.html         |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE.html     |     2                                         
   sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GS.html               |     2                                         
   sandbox/mirror/doc/html/boost/cts/bchar.html                        |     2                                         
   sandbox/mirror/doc/html/boost/cts/bchar_traits.html                 |     2                                         
   sandbox/mirror/doc/html/boost/cts/biostream.html                    |     8                                         
   sandbox/mirror/doc/html/boost/cts/bistream.html                     |     8                                         
   sandbox/mirror/doc/html/boost/cts/bostream.html                     |     8                                         
   sandbox/mirror/doc/html/boost/cts/bstring.html                      |     2                                         
   sandbox/mirror/doc/html/boost/mirror/meta_class.html                |     8                                         
   sandbox/mirror/doc/html/boost/mirror/meta_class_all_attributes.html |     8                                         
   sandbox/mirror/doc/html/boost/mirror/meta_class_attribute.html      |    56 +-                                      
   sandbox/mirror/doc/html/boost/mirror/meta_class_attributes.html     |     8                                         
   sandbox/mirror/doc/html/boost/mirror/meta_inheritance.html          |     8                                         
   sandbox/mirror/doc/html/boost/mirror/meta_namespace.html            |    40 +-                                      
   sandbox/mirror/doc/html/boost/mirror/meta_type.html                 |    40 +-                                      
   sandbox/mirror/doc/html/boost/mirror/reflects_class.html            |     2                                         
   sandbox/mirror/doc/html/boost/mirror/reflects_global_scope.html     |     2                                         
   sandbox/mirror/doc/html/boost/mirror/reflects_namespace.html        |     2                                         
   sandbox/mirror/doc/html/boost/mirror/reflects_type.html             |     2                                         
   sandbox/mirror/doc/html/char_type_switch.html                       |     8                                         
   sandbox/mirror/doc/html/char_type_switch/reference.html             |    84 ++--                                    
   sandbox/mirror/doc/html/mirror.html                                 |    29 +                                       
   sandbox/mirror/doc/html/mirror/examples.html                        |    20                                         
   sandbox/mirror/doc/html/mirror/reference.html                       |    19                                         
   sandbox/mirror/libs/mirror/doc/introduction.xml                     |    21 +                                       
   sandbox/mirror/libs/mirror/doc/reference.xml                        |     5                                         
   50 files changed, 953 insertions(+), 386 deletions(-)
Modified: sandbox/mirror/boost/mirror/detail/traversal.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/detail/traversal.hpp	(original)
+++ sandbox/mirror/boost/mirror/detail/traversal.hpp	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -13,6 +13,7 @@
 #include <boost/mirror/meta_class.hpp>
 #include <boost/mirror/algorithm/for_each.hpp>
 #include <boost/mirror/meta_path/node_context.hpp>
+#include <boost/mirror/detail/visitor_traits.hpp>
 //
 #include <boost/ref.hpp>
 #include <boost/type_traits/remove_reference.hpp>
@@ -63,26 +64,12 @@
                 : visitor(_visitor)
                 , ptr_to_inst(_ptr_to_inst)
                 {
-			visitor.enter_attributes(
-				MetaClass(), 
-				MetaAttributes(), 
-				meta_path::make_node_context(
-					ClassNodePath(),
-					MetaAttributes()
-				)
-			);
+			lead_into_attribute_list(visitor);
                 }
 
                 inline ~attribute_traversal(void)
                 {
-			visitor.leave_attributes(
-				MetaClass(), 
-				MetaAttributes(), 
-				meta_path::make_node_context(
-					ClassNodePath(),
-					MetaAttributes()
-				)
-			);
+			lead_out_of_attribute_list(visitor);
                 }
 
                 template <class MetaAttribute>
@@ -95,33 +82,49 @@
 			>::type path;
                         //
                         // process a single attribute
-			process_single(
-				ma, 
-				path,
-				typename VisitorType::works_on_instances()
-			);
+			process_single(ma, path);
                 }
         private:
-		VisitorType& visitor;
+		reference_wrapper<VisitorType> visitor;
                 InstancePtr ptr_to_inst;
 
                 // process single attribute WITH an instance
                 template <class MetaAttribute, class AttribsNodePath>
                 void inline process_single(
                         MetaAttribute ma, 
-			AttribsNodePath path, 
-			mpl::bool_<true>
+			AttribsNodePath path 
                 ) const
                 {
                         // enter the attribute
-			visitor.enter_attribute(
-				ma, 
-				meta_path::make_node_context(
-					path,
-					ma
-				)
-			);
+			lead_into_attribute(visitor, ma, path);
                         // 
+			traverse_attribute(ma, path);
+			// leave the attribute
+			lead_out_of_attribute(visitor, ma, path);
+		}
+
+		template <class MetaAttribute, class AttribsNodePath>
+		inline void traverse_attribute(
+			MetaAttribute ma, 
+			AttribsNodePath path
+		) const
+		{
+			typedef BOOST_TYPEOF(ma.get(*ptr_to_inst)) instance_type;
+
+			traverse_attribute_if(
+				typename VisitorType::works_on_instances(),
+				ma,
+				path
+			);
+		}
+
+		template <class MetaAttribute, class AttribsNodePath>
+		inline void traverse_attribute_if(
+			mpl::bool_<true>,
+			MetaAttribute ma, 
+			AttribsNodePath path
+		) const
+		{
                         // the poiner has to be valid
                         assert(ptr_to_inst != 0);
                         // 
@@ -137,35 +140,16 @@
                                         MetaAttribute
 				>::type
 			>::accept(visitor, &instance);
-			//
-			// leave the attribute
-			visitor.leave_attribute(
-				ma, 
-				meta_path::make_node_context(
-					path,
-					ma
-				)
-			);
                 }
 
-		// process single attribute W/O an instance
                 template <class MetaAttribute, class AttribsNodePath>
-		void inline process_single(
+		inline void traverse_attribute_if(
+			mpl::bool_<false>,
                         MetaAttribute ma, 
-			AttribsNodePath path, 
-			mpl::bool_<false>
+			AttribsNodePath path
                 ) const
                 {
-			// enter the attribute
-			visitor.enter_attribute(
-				ma, 
-				meta_path::make_node_context(
-					path,
-					ma
-				)
-			);
-			//
-			// traverse the attributes
+			// traverse the attribute
                         TraversalType<
                                 typename MetaAttribute::type,
                                 typename mpl::push_back<
@@ -173,16 +157,178 @@
                                         MetaAttribute
 				>::type
 			>::accept(visitor, 0);
-			//
-			// leave the attributes
-			visitor.leave_attribute(
-				ma, 
+		}
+
+		template < class MetaAttribute, class AttribsNodePath>
+		static inline void lead_into_attribute(
+			reference_wrapper<VisitorType> visitor,
+			MetaAttribute ma,
+			AttribsNodePath path
+		)
+		{
+			lead_into_attribute_if(
+				typename visitor_can_enter_attribute<
+					VisitorType,
+					MetaAttribute,
+					meta_path::node_context<
+						AttribsNodePath,
+						MetaAttribute
+					>
+				>::type(),
+				visitor,
+				ma,
+				path
+			);
+		}
+
+		template < class MetaAttribute, class AttribsNodePath>
+		static inline void lead_into_attribute_if(
+			mpl::bool_<true>,
+			reference_wrapper<VisitorType> visitor,
+			MetaAttribute ma,
+			AttribsNodePath path
+		)
+		{
+			visitor.get().enter_attribute(
+				ma,
                                 meta_path::make_node_context(
                                         path,
                                         ma
                                 )
                         );
                 }
+
+		template <class MetaAttribute, class AttribsNodePath>
+		static inline void lead_into_attribute_if(
+			mpl::bool_<false>,
+			reference_wrapper<VisitorType> visitor,
+			MetaAttribute ma,
+			AttribsNodePath path
+		){ }
+
+		template < class MetaAttribute, class AttribsNodePath>
+		static inline void lead_out_of_attribute(
+			reference_wrapper<VisitorType> visitor,
+			MetaAttribute ma,
+			AttribsNodePath path
+		)
+		{
+			lead_out_of_attribute_if(
+				typename visitor_can_leave_attribute<
+					VisitorType,
+					MetaAttribute,
+					meta_path::node_context<
+						AttribsNodePath,
+						MetaAttribute
+					>
+				>::type(),
+				visitor,
+				ma,
+				path
+			);
+		}
+
+		template <class MetaAttribute, class AttribsNodePath>
+		static inline void lead_out_of_attribute_if(
+			mpl::bool_<true>,
+			reference_wrapper<VisitorType> visitor,
+			MetaAttribute ma,
+			AttribsNodePath path 
+		)
+		{
+			visitor.get().leave_attribute(
+				ma,
+				meta_path::make_node_context(
+					path,
+					ma
+				)
+			);
+		}
+
+		template <class MetaAttribute, class AttribsNodePath>
+		static inline void lead_out_of_attribute_if(
+			mpl::bool_<false>,
+			reference_wrapper<VisitorType> visitor,
+			MetaAttribute ma,
+			AttribsNodePath path
+		){ }
+
+		static inline void lead_into_attribute_list(
+			reference_wrapper<VisitorType> visitor
+		)
+		{
+			lead_into_attribute_list_if(
+				typename visitor_can_enter_attributes<
+					VisitorType,
+					MetaClass,
+					MetaAttributes,
+					meta_path::node_context<
+						ClassNodePath,
+						MetaAttributes
+					>
+				>::type(),
+				visitor
+			);
+		}
+
+		static inline void lead_into_attribute_list_if(
+			mpl::bool_<true>,
+			reference_wrapper<VisitorType> visitor
+		)
+		{
+			visitor.get().enter_attributes(
+				MetaClass(), 
+				MetaAttributes(), 
+				meta_path::make_node_context(
+					ClassNodePath(),
+					MetaAttributes()
+				)
+			);
+		}
+
+		static inline void lead_into_attribute_list_if(
+			mpl::bool_<false>,
+			reference_wrapper<VisitorType> visitor
+		){ }
+
+		static inline void lead_out_of_attribute_list(
+			reference_wrapper<VisitorType> visitor
+		)
+		{
+			lead_out_of_attribute_list_if(
+				typename visitor_can_leave_attributes<
+					VisitorType,
+					MetaClass,
+					MetaAttributes,
+					meta_path::node_context<
+						ClassNodePath,
+						MetaAttributes
+					>
+				>::type(),
+				visitor
+			);
+		}
+
+		static inline void lead_out_of_attribute_list_if(
+			mpl::bool_<true>,
+			reference_wrapper<VisitorType> visitor
+		)
+		{
+			visitor.get().leave_attributes(
+				MetaClass(), 
+				MetaAttributes(), 
+				meta_path::make_node_context(
+					ClassNodePath(),
+					MetaAttributes()
+				)
+			);
+		}
+
+		static inline void lead_out_of_attribute_list_if(
+			mpl::bool_<false>,
+			reference_wrapper<VisitorType> visitor
+		){ }
+
         };
 
         // attribute_traversal factory function
@@ -208,45 +354,21 @@
                 : visitor(_visitor)
                 , ptr_to_inst(_ptr_to_inst)
                 {
-			visitor.enter_base_classes(
-				MetaClass(), 
-				typename MetaClass::base_classes(),
-				meta_path::make_node_context(
-					ClassNodePath(),
-					typename MetaClass::base_classes()
-				)
-			);
+			lead_into_base_class_list(visitor);
                 }
 
                 inline ~base_class_traversal(void)
                 {
-			visitor.leave_base_classes(
-				MetaClass(), 
-				typename MetaClass::base_classes(),
-				meta_path::make_node_context(
-					ClassNodePath(),
-					typename MetaClass::base_classes()
-				)
-			);
+			lead_out_of_base_class_list(visitor);
                 }
 
                 template <class MetaInheritance>
                 inline void operator ()(MetaInheritance mbc) const
                 {
-			typedef typename mpl::push_back<
-				ClassNodePath,
-				typename MetaClass::base_classes
-			>::type BaseClassesNodePath;
                         BaseClassesNodePath path;
                         //
                         // enter the base cass
-			visitor.enter_base_class(
-				mbc, 
-				meta_path::make_node_context(
-					path,
-					mbc
-				)
-			);
+			lead_into_base_class(visitor, mbc, path);
                         //
                         // get the meta-class of the base class
                         typedef typename MetaInheritance::base_class
@@ -260,7 +382,48 @@
 				>::type
 			>::accept(visitor, ptr_to_inst);
                         // leave the base class
-			visitor.leave_base_class(
+			lead_out_of_base_class(visitor, mbc, path);
+		}
+	private:
+		typedef typename mpl::push_back<
+			ClassNodePath,
+			typename MetaClass::base_classes
+		>::type BaseClassesNodePath;
+
+		reference_wrapper<VisitorType> visitor;
+		InstancePtr ptr_to_inst;
+
+		template <class MetaInheritance>
+		static inline void lead_into_base_class(
+			reference_wrapper<VisitorType> visitor,
+			MetaInheritance mbc,
+			BaseClassesNodePath path 
+		)
+		{
+			lead_into_base_class_if(
+				typename visitor_can_enter_base_class<
+					VisitorType,
+					MetaInheritance,
+					meta_path::node_context<
+						BaseClassesNodePath,
+						MetaInheritance
+					>
+				>::type(),
+				visitor,
+				mbc,
+				path
+			);
+		}
+
+		template <class MetaInheritance>
+		static inline void lead_into_base_class_if(
+			mpl::bool_<true>,
+			reference_wrapper<VisitorType> visitor,
+			MetaInheritance mbc,
+			BaseClassesNodePath path 
+		)
+		{
+			visitor.get().enter_base_class(
                                 mbc, 
                                 meta_path::make_node_context(
                                         path,
@@ -268,9 +431,139 @@
                                 )
                         );
                 }
-	private:
-		VisitorType& visitor;
-		InstancePtr ptr_to_inst;
+
+		template <class MetaInheritance>
+		static inline void lead_into_base_class_if(
+			mpl::bool_<false>,
+			reference_wrapper<VisitorType> visitor,
+			MetaInheritance mbc,
+			BaseClassesNodePath path 
+		){ }
+
+		template <class MetaInheritance>
+		static inline void lead_out_of_base_class(
+			reference_wrapper<VisitorType> visitor,
+			MetaInheritance mbc,
+			BaseClassesNodePath path 
+		)
+		{
+			lead_out_of_base_class_if(
+				typename visitor_can_leave_base_class<
+					VisitorType,
+					MetaInheritance,
+					meta_path::node_context<
+						BaseClassesNodePath,
+						MetaInheritance
+					>
+				>::type(),
+				visitor,
+				mbc,
+				path
+			);
+		}
+
+		template <class MetaInheritance>
+		static inline void lead_out_of_base_class_if(
+			mpl::bool_<true>,
+			reference_wrapper<VisitorType> visitor,
+			MetaInheritance mbc,
+			BaseClassesNodePath path 
+		)
+		{
+			visitor.get().leave_base_class(
+				mbc, 
+				meta_path::make_node_context(
+					path,
+					mbc
+				)
+			);
+		}
+
+		template <class MetaInheritance>
+		static inline void lead_out_of_base_class_if(
+			mpl::bool_<false>,
+			reference_wrapper<VisitorType> visitor,
+			MetaInheritance mbc,
+			BaseClassesNodePath path
+		){ }
+
+		static inline void lead_into_base_class_list(
+			reference_wrapper<VisitorType> visitor
+		)
+		{
+			lead_into_base_class_list_if(
+				typename visitor_can_enter_base_classes<
+					VisitorType,
+					MetaClass,
+					typename MetaClass::base_classes,
+					meta_path::node_context<
+						ClassNodePath,
+						typename MetaClass::base_classes
+					>
+				>::type(),
+				visitor
+			);
+		}
+
+		static inline void lead_into_base_class_list_if(
+			mpl::bool_<true>,
+			reference_wrapper<VisitorType> visitor
+		)
+		{
+			visitor.get().enter_base_classes(
+				MetaClass(), 
+				typename MetaClass::base_classes(),
+				meta_path::make_node_context(
+					ClassNodePath(),
+					typename MetaClass::base_classes()
+				)
+			);
+		}
+
+		static inline void lead_into_base_class_list_if(
+			mpl::bool_<false>,
+			reference_wrapper<VisitorType> visitor
+		){ }
+
+		static inline void lead_out_of_base_class_list(
+			reference_wrapper<VisitorType> visitor
+		)
+		{
+			lead_out_of_base_class_list_if(
+				typename visitor_can_leave_base_classes<
+					VisitorType,
+					MetaClass,
+					typename MetaClass::base_classes,
+					meta_path::node_context<
+						ClassNodePath,
+						typename MetaClass::base_classes
+					>
+				>::type(),
+				visitor
+			);
+		}
+
+		static inline void lead_out_of_base_class_list_if(
+			mpl::bool_<true>,
+			reference_wrapper<VisitorType> visitor
+		)
+		{
+			visitor.get().leave_base_classes(
+				MetaClass(), 
+				typename MetaClass::base_classes(),
+				meta_path::make_node_context(
+					ClassNodePath(),
+					typename MetaClass::base_classes()
+				)
+			);
+		}
+
+		static inline void lead_out_of_base_class_list_if(
+			mpl::bool_<false>,
+			reference_wrapper<VisitorType> visitor
+		){ }
+
+
         };
 
         // base class traversal factory function
@@ -295,38 +588,25 @@
                 InstanceType* ptr_to_inst
         )
         {
-		do_lead_to_instance(
+		lead_to_instance_if(
+			typename VisitorType::works_on_instances(),
                         visitor,
                         mc,
                         path,
-			ptr_to_inst,
-			typename VisitorType::works_on_instances()
+			ptr_to_inst
                 );
         }
 
-private:
         template <
                 class VisitorType, 
                 class InstanceType
 	>
-	inline static void do_lead_to_instance(
-		reference_wrapper<VisitorType> visitor, 
-		MetaClass,
-		NodePath, 
-		InstanceType* ptr_to_inst,
-		mpl::bool_<false>
-	){ }
-
-	template <
-		class VisitorType, 
-		class InstanceType
-	>
-	inline static void do_lead_to_instance(
-		reference_wrapper<VisitorType> visitor, 
+	inline static void lead_to_instance_if(
+		mpl::bool_<true>,
+		reference_wrapper<VisitorType> visitor,
                 MetaClass mc,
                 NodePath path,
-		InstanceType* ptr_to_inst,
-		mpl::bool_<true>
+		InstanceType* ptr_to_inst
         )
         {
                 visitor.get().visit_instance(
@@ -339,6 +619,112 @@
                 );
         }
 
+	template <
+		class VisitorType, 
+		class InstanceType
+	>
+	inline static void lead_to_instance_if(
+		mpl::bool_<false>,
+		reference_wrapper<VisitorType> visitor,
+		MetaClass mc,
+		NodePath path,
+		InstanceType* ptr_to_inst
+	) { }
+
+	template <class VisitorType>
+	static inline void lead_into_type(
+                reference_wrapper<VisitorType> visitor,
+		MetaClass mc,
+                NodePath path
+        )
+        {
+		lead_into_type_if(
+			typename visitor_can_enter_type<
+				VisitorType,
+				MetaClass,
+				meta_path::node_context<
+					NodePath,
+					MetaClass
+				>
+			>::type(),
+			visitor,
+			mc,
+			path
+		);
+	}
+
+        template < class VisitorType>
+        static inline void lead_into_type_if(
+		mpl::bool_<true>,
+                reference_wrapper<VisitorType> visitor,
+                MetaClass mc,
+                NodePath path
+        )
+        {
+                visitor.get().enter_type(
+                        mc,
+                        meta_path::make_node_context(
+                                path,
+                                mc
+                        )
+                );
+        }
+
+        template < class VisitorType>
+        static inline void lead_into_type_if(
+		mpl::bool_<false>,
+                reference_wrapper<VisitorType> visitor,
+                MetaClass mc,
+                NodePath path
+        ){ }
+
+	template <class VisitorType>
+	static inline void lead_out_of_type(
+                reference_wrapper<VisitorType> visitor,
+		MetaClass mc,
+                NodePath path
+        )
+        {
+		lead_out_of_type_if(
+			typename visitor_can_leave_type<
+				VisitorType,
+				MetaClass,
+				meta_path::node_context<
+					NodePath,
+					MetaClass
+				>
+			>::type(),
+			visitor,
+			mc,
+			path
+		);
+	}
+
+        template < class VisitorType>
+        static inline void lead_out_of_type_if(
+		mpl::bool_<true>,
+                reference_wrapper<VisitorType> visitor,
+                MetaClass mc,
+                NodePath path
+        )
+        {
+                visitor.get().leave_type(
+                        mc,
+                        meta_path::make_node_context(
+                                path,
+                                mc
+                        )
+                );
+        }
+
+        template < class VisitorType>
+        static inline void lead_out_of_type_if(
+		mpl::bool_<false>,
+                reference_wrapper<VisitorType> visitor,
+                MetaClass mc,
+                NodePath path
+        ){ }
+
 };
 
 /** Base implementation of namespace traversal
@@ -369,12 +755,10 @@
                         reference_wrapper<VisitorType> _visitor
                 ): visitor(_visitor)
                 {
-			visitor.get().enter_namespace_members(
+			lead_into_namespace_member_list(
+				visitor,
                                 Members(),
-				meta_path::make_node_context(
-					NamespaceNodePath(),
-					Members() 
-				)
+				NamespaceNodePath()
                         );
                 }
 
@@ -389,14 +773,100 @@
 
                 inline ~namespace_member_traversal(void)
                 {
-			visitor.get().leave_namespace_members(
+			lead_out_of_namespace_member_list(
+				visitor,
                                 Members(),
+				NamespaceNodePath()
+			);
+		}
+
+		static inline void lead_into_namespace_member_list(
+	                reference_wrapper<VisitorType> visitor,
+			Members m,
+			NamespaceNodePath path
+	        )
+	        {
+			lead_into_namespace_member_list_if(
+				typename visitor_can_enter_namespace_members<
+					VisitorType,
+					Members,
+					meta_path::node_context<
+						NamespaceNodePath,
+						Members
+					>
+				>::type(),
+				visitor,
+				m,
+				path
+			);
+		}
+
+		static inline void lead_into_namespace_member_list_if(
+			mpl::bool_<true>,
+			reference_wrapper<VisitorType> visitor,
+			Members m,
+			NamespaceNodePath path
+		)
+		{
+			visitor.get().enter_namespace_members(
+				m,
                                 meta_path::make_node_context(
-					NamespaceNodePath(),
-					Members() 
+					path,
+					m
                                 )
                         );
                 }
+
+		static inline void lead_into_namespace_member_list_if(
+			mpl::bool_<false>,
+			reference_wrapper<VisitorType> visitor,
+			Members m,
+			NamespaceNodePath path
+		){ }
+
+		static inline void lead_out_of_namespace_member_list(
+	                reference_wrapper<VisitorType> visitor,
+			Members m,
+			NamespaceNodePath path
+	        )
+	        {
+			lead_out_of_namespace_member_list_if(
+				typename visitor_can_leave_namespace_members<
+					VisitorType,
+					Members,
+					meta_path::node_context<
+						NamespaceNodePath,
+						Members
+					>
+				>::type(),
+				visitor,
+				m,
+				path
+			);
+		}
+
+		static inline void lead_out_of_namespace_member_list_if(
+			mpl::bool_<true>,
+			reference_wrapper<VisitorType> visitor,
+			Members m,
+			NamespaceNodePath path
+		)
+		{
+			visitor.get().leave_namespace_members(
+				m,
+				meta_path::make_node_context(
+					path,
+					m
+				)
+			);
+		}
+
+		static inline void lead_out_of_namespace_member_list_if(
+			mpl::bool_<false>,
+			reference_wrapper<VisitorType> visitor,
+			Members m,
+			NamespaceNodePath path
+		){ }
         };
 
         template <class Members, class VisitorType>
@@ -405,6 +875,102 @@
         {
                 return namespace_member_traversal<VisitorType, Members>(_visitor);
         }
+
+	
+	template <class VisitorType>
+	static inline void lead_into_namespace(
+                reference_wrapper<VisitorType> visitor,
+		MetaNamespace mn,
+                NodePath path
+        )
+        {
+		lead_into_namespace_if(
+			typename visitor_can_enter_namespace<
+				VisitorType,
+				MetaNamespace,
+				meta_path::node_context<
+					NodePath,
+					MetaNamespace
+				>
+			>::type(),
+			visitor,
+			mn,
+			path
+		);
+	}
+ 
+        template <class VisitorType>
+        static inline void lead_into_namespace_if(
+		mpl::bool_<true>,
+                reference_wrapper<VisitorType> visitor,
+		MetaNamespace mn,
+                NodePath path
+        )
+        {
+                visitor.get().enter_namespace(
+                        mn,
+                        meta_path::make_node_context(
+                                path,
+                                mn
+                        )
+                );
+        }
+
+        template < class VisitorType>
+        static inline void lead_into_namespace_if(
+		mpl::bool_<false>,
+                reference_wrapper<VisitorType> visitor,
+		MetaNamespace mn,
+                NodePath path
+        ){ }
+
+       	template <class VisitorType>
+	static inline void lead_out_of_namespace(
+                reference_wrapper<VisitorType> visitor,
+		MetaNamespace mn,
+                NodePath path
+        )
+        {
+		lead_out_of_namespace_if(
+			typename visitor_can_leave_namespace<
+				VisitorType,
+				MetaNamespace,
+				meta_path::node_context<
+					NodePath,
+					MetaNamespace
+				>
+			>::type(),
+			visitor,
+			mn,
+			path
+		);
+	}
+ 
+	template < class VisitorType>
+        static inline void lead_out_of_namespace_if(
+		mpl::bool_<true>,
+                reference_wrapper<VisitorType> visitor,
+		MetaNamespace mn,
+                NodePath path
+        )
+        {
+                visitor.get().leave_namespace(
+                        mn,
+                        meta_path::make_node_context(
+                                path,
+                                mn
+                        )
+                );
+        }
+
+        template < class VisitorType>
+        static inline void lead_out_of_namespace_if(
+		mpl::bool_<false>,
+                reference_wrapper<VisitorType> visitor,
+		MetaNamespace mn,
+                NodePath path
+        ){ }
+
 };
 
 } // namespace detail
Added: sandbox/mirror/boost/mirror/detail/visitor_traits.hpp
==============================================================================
--- (empty file)
+++ sandbox/mirror/boost/mirror/detail/visitor_traits.hpp	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -0,0 +1,80 @@
+/**
+ * \file boost/mirror/detail/visitor_traits.hpp
+ * Auto-detection of visitor's member function availability
+ *
+ *  Copyright 2008 Matus Chochlik. Distributed under the Boost
+ *  Software License, Version 1.0. (See accompanying file
+ *  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ */
+
+#ifndef BOOST_MIRROR_DETAIL_VISITOR_TRAITS_HPP
+#define BOOST_MIRROR_DETAIL_VISITOR_TRAITS_HPP
+
+#include <boost/mpl/bool.hpp>
+#include <boost/preprocessor/repetition/enum_params.hpp>
+
+namespace boost {
+namespace mirror {
+namespace detail {
+
+template <typename MemFnPtr, MemFnPtr mem_fn_ptr>
+struct member_fn_ptr_wrapper { };
+
+#define BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY( \
+	MEM_FN_NAME, \
+	PARAM_COUNT \
+) \
+template <class Visitor, BOOST_PP_ENUM_PARAMS(PARAM_COUNT, typename P)> \
+char visitor_has_##MEM_FN_NAME( \
+	member_fn_ptr_wrapper< \
+		void (Visitor::*)(BOOST_PP_ENUM_PARAMS(PARAM_COUNT, P)), \
+		&Visitor::template MEM_FN_NAME<BOOST_PP_ENUM_PARAMS(PARAM_COUNT, P)> \
+	>* \
+); \
+ \
+template <class Visitor, BOOST_PP_ENUM_PARAMS(PARAM_COUNT, typename P)> \
+double visitor_has_##MEM_FN_NAME(...); \
+ \
+template <class Visitor, BOOST_PP_ENUM_PARAMS(PARAM_COUNT, typename P)> \
+struct visitor_can_##MEM_FN_NAME\
+{ \
+	enum {value = \
+		sizeof(char) == \
+		sizeof(visitor_has_##MEM_FN_NAME< \
+			Visitor, \
+			BOOST_PP_ENUM_PARAMS(PARAM_COUNT, P) \
+		>(0)) \
+	}; \
+	typedef mpl::bool_<value> type;	\
+};
+
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(enter_namespace, 2)
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(leave_namespace, 2)
+
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(enter_namespace_members, 2)
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(leave_namespace_members, 2)
+
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(enter_type, 2)
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(leave_type, 2)
+
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(enter_attribute, 2)
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(leave_attribute, 2)
+
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(enter_attributes, 3)
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(leave_attributes, 3)
+
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(enter_base_class, 2)
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(leave_base_class, 2)
+
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(enter_base_classes, 3)
+BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY(leave_base_classes, 3)
+
+
+#undef BOOST_MIRROR_DETAIL_IMPLEMENT_VISITOR_MEM_FN_QUERY
+
+} // namespace detail
+} // namespace mirror
+} // namespace boost
+
+#endif //include guard
+
Modified: sandbox/mirror/boost/mirror/meta_path/node_context.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/meta_path/node_context.hpp	(original)
+++ sandbox/mirror/boost/mirror/meta_path/node_context.hpp	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -54,6 +54,11 @@
 	>::type nodes;
 };
 
+struct empty_context
+{
+	typedef mpl::vector0<> paths_and_nodes;
+};
+
 } // namespace meta_path
 } // namespace mirror
 } // namespace boost
Modified: sandbox/mirror/boost/mirror/traversal.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/traversal.hpp	(original)
+++ sandbox/mirror/boost/mirror/traversal.hpp	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -60,13 +60,7 @@
                 MetaClass mc;
                 NodePath path;
                 // enter the type
-		visitor.get().enter_type(
-			mc, 
-			meta_path::make_node_context(
-				path,
-				mc
-			)
-		);
+		lead_into_type(visitor, mc, path);
                 // visit the instance
                 lead_to_instance(visitor, mc, path, ptr_to_inst);
                 // go through the base classes
@@ -78,13 +72,7 @@
                         cref(show_attribs_to(visitor, ptr_to_inst))
                 );
                 // leave the type
-		visitor.get().leave_type(
-			mc, 
-			meta_path::make_node_context(
-				path,
-				mc
-			)
-		);
+		lead_out_of_type(visitor, mc, path);
         }
 };
 
@@ -132,13 +120,7 @@
                 MetaClass mc;
                 NodePath path;
                 // enter the type
-		visitor.get().enter_type(
-			mc, 
-			meta_path::make_node_context(
-				path,
-				mc
-			)
-		);
+		lead_into_type(visitor, mc, path);
                 // visit the instance
                 lead_to_instance(visitor, mc, path, ptr_to_inst);
                 // go through all of the class' attributes
@@ -146,13 +128,7 @@
                         cref(show_attribs_to(visitor, ptr_to_inst))
                 );
                 // leave the type
-		visitor.get().leave_type(
-			mc, 
-			meta_path::make_node_context(
-				path,
-				mc
-			)
-		);
+		lead_out_of_type(visitor, mc, path);
         }
 };
 
@@ -205,13 +181,7 @@
                 MetaNamespace mn;
                 NodePath path;
                 // let the visitor enter the namespace
-		visitor.get().enter_namespace(
-			mn,
-			meta_path::make_node_context(
-				path,
-				mn
-			)
-		);
+		lead_into_namespace(visitor, mn, path);
                 typedef typename MetaNamespace::template members<>::type 
                         members;
                 // show the visitor through all the members of 
@@ -223,13 +193,7 @@
                         ))
                 );
                 // the visitor leaves the namespace
-		visitor.get().leave_namespace(
-			mn,
-			meta_path::make_node_context(
-				path,
-				mn
-			)
-		);
+		lead_out_of_namespace(visitor, mn, path);
         }
 };
 
Modified: sandbox/mirror/boost/mirror/visitors/meta_path_sample.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/visitors/meta_path_sample.hpp	(original)
+++ sandbox/mirror/boost/mirror/visitors/meta_path_sample.hpp	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -176,10 +176,6 @@
                 print_node(MetaClass(), Context());
         }
 
-	// leave the class/type
-	template <class MetaClass, class Context>
-	void leave_type(MetaClass, Context) const { }
-
         template <class MetaClass, class BaseClasses, class Context>
         inline void enter_base_classes(MetaClass, BaseClasses, Context)
         {
@@ -187,10 +183,6 @@
                         print_node(BaseClasses(), Context());
         }
         
-	template <class MetaClass, class BaseClasses, class Context>
-	inline void leave_base_classes(MetaClass, BaseClasses, Context){ }
-
-
         // enter a base class
         template <class MetaInheritance, class Context>
         void enter_base_class(MetaInheritance, Context)
@@ -198,11 +190,6 @@
                 print_node(MetaInheritance(), Context());
         }
 
-	// leave base class
-	template <class MetaInheritance, class Context>
-	void leave_base_class(MetaInheritance, Context){ }
-
-
         template <class MetaClass, class MetaAttributes, class Context>
         void enter_attributes(MetaClass, MetaAttributes, Context)
         {
@@ -210,23 +197,12 @@
                         print_node(MetaAttributes(), Context());
         }
 
-	template <class MetaClass, class MetaAttributes, class Context>
-	void leave_attributes(MetaClass, MetaAttributes, Context){ }
-
         template <class MetaAttribute, class Context>
         inline void enter_attribute(MetaAttribute, Context)
         {
                 print_node(MetaAttribute(), Context());
         }
 
-	template <class MetaAttribute, class Context>
-	void leave_attribute(MetaAttribute, Context){ }
-
-	template <class MetaClass, class Context, typename InstanceType>
-	void visit_instance(MetaClass, Context ctx, InstanceType* ptr_to_inst)
-	{
-	}
-
 private:
 
         template <template <class> class Axis, class MetaObject, class Context>
Modified: sandbox/mirror/doc/html/BOOST_CTS_LIT.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_CTS_LIT.html	(original)
+++ sandbox/mirror/doc/html/BOOST_CTS_LIT.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_CTS_LIT(STRING_LITERAL)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2617201"></a><h2>Description</h2>
+<a name="id2617402"></a><h2>Description</h2>
 <p>This macro is defined as follows:
 </p>
 <pre class="programlisting">
@@ -77,9 +77,9 @@
 int main(void)
 {
 #ifdef <a class="link" href="BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a>
-	assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"), L"foo") == 0);
+	assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"), L"foo") == 0);
 #else
-	assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"), "foo") == 0);
+	assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"), "foo") == 0);
 #endif
         return 0;
 }
@@ -90,7 +90,7 @@
 
 int main(void)
 {
-	assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"), <a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo)) == 0);
+	assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"), <a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo)) == 0);
         return 0;
 }
 </pre>
Modified: sandbox/mirror/doc/html/BOOST_CTS_LIT_LENGTH.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_CTS_LIT_LENGTH.html	(original)
+++ sandbox/mirror/doc/html/BOOST_CTS_LIT_LENGTH.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -33,7 +33,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_CTS_LIT_LENGTH(STRING_LITERAL)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2617393"></a><h2>Description</h2>
+<a name="id2617593"></a><h2>Description</h2>
 <p>This macro is defined as follows:
 </p>
 <pre class="programlisting">
@@ -63,7 +63,7 @@
 {
         assert(
                 <a class="link" href="BOOST_CTS_LIT_LENGTH.html" title="Macro BOOST_CTS_LIT_LENGTH">BOOST_CTS_LIT_LENGTH</a>("foo") == 
-		::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrlen_id2437435">bstrlen</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"))
+		::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrlen_id2543632">bstrlen</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"))
         );
         return 0;
 }
@@ -76,8 +76,8 @@
 {
         using namespace ::boost::cts;
         <a class="link" href="boost/cts/bchar.html" title="Type definition bchar">bchar</a> foo[<a class="link" href="BOOST_CTS_LIT_LENGTH.html" title="Macro BOOST_CTS_LIT_LENGTH">BOOST_CTS_LIT_LENGTH</a>("foo")+1];
-	<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcpy_id2431675">bstrcpy</a>(foo, <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"));
-	assert(<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a>(foo, <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo")) == 0);
+	<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcpy_id2527396">bstrcpy</a>(foo, <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"));
+	assert(<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a>(foo, <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo")) == 0);
         return 0;
 }
 </pre>
Modified: sandbox/mirror/doc/html/BOOST_CTS_STRINGIZE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_CTS_STRINGIZE.html	(original)
+++ sandbox/mirror/doc/html/BOOST_CTS_STRINGIZE.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_CTS_STRINGIZE(ARG)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2617589"></a><h2>Description</h2>
+<a name="id2617789"></a><h2>Description</h2>
 <p>This macro is defined as follows:
 </p>
 <pre class="programlisting">
@@ -77,9 +77,9 @@
 int main(void)
 {
 #ifdef <a class="link" href="BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a>
-	assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a>(<a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo), L"foo") == 0);
+	assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a>(<a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo), L"foo") == 0);
 #else
-	assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a>(<a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo), "foo") == 0);
+	assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a>(<a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo), "foo") == 0);
 #endif
         return 0;
 }
@@ -90,7 +90,7 @@
 
 int main(void)
 {
-	assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a>(<a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo), <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo")) == 0);
+	assert(::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a>(<a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo), <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo")) == 0);
         return 0;
 }
 </pre>
Modified: sandbox/mirror/doc/html/BOOST_CTS_USE_WIDE_CHARS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_CTS_USE_WIDE_CHARS.html	(original)
+++ sandbox/mirror/doc/html/BOOST_CTS_USE_WIDE_CHARS.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -33,7 +33,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_CTS_USE_WIDE_CHARS</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2616888"></a><h2>Description</h2>
+<a name="id2617088"></a><h2>Description</h2>
 <p>If the <code class="computeroutput"><a class="link" href="BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a></code> symbol is defined
                         then the type <code class="computeroutput"><a class="link" href="boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> is defined as <code class="computeroutput">wchar_t</code>,
                         otherwise it's defined as <code class="computeroutput">char</code>:
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_CLASS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_CLASS.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_CLASS.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_CLASS(CLASS)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2609787"></a><h2>Description</h2>
+<a name="id2609840"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_CLASS.html" title="Macro BOOST_MIRRORED_CLASS">BOOST_MIRRORED_CLASS</a></code> macro reflects a class
                 previously registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library. 
                 The argument of this macro is a class name.
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_GLOBAL_SCOPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_GLOBAL_SCOPE.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_GLOBAL_SCOPE.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -35,7 +35,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_GLOBAL_SCOPE()</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2604137"></a><h2>Description</h2>
+<a name="id2604190"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_GLOBAL_SCOPE.html" title="Macro BOOST_MIRRORED_GLOBAL_SCOPE">BOOST_MIRRORED_GLOBAL_SCOPE</a>()</code> macro can be used to get
                 the meta-data about the global scope, which is registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library by default.
                 </p>
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_NAMESPACE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_NAMESPACE.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_NAMESPACE.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -35,7 +35,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_NAMESPACE(FULL_NAMESPACE_NAME)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2603700"></a><h2>Description</h2>
+<a name="id2603753"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code> macro reflects a namespace 
                 previously registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library by the means of 
                 the <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_NAMESPACE.html" title="Macro BOOST_MIRROR_REG_NAMESPACE">BOOST_MIRROR_REG_NAMESPACE</a></code>. 
@@ -98,7 +98,7 @@
 {
         using namespace ::std;
         using namespace ::boost;
-	cts::<a class="link" href="boost/cts/bostream.html" title="Type definition bostream">bostream</a>& bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a>();
+	cts::<a class="link" href="boost/cts/bostream.html" title="Type definition bostream">bostream</a>& bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a>();
         bcout << 
                 <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("This is the global scope") << 
         endl <<
@@ -113,7 +113,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
-	cts::bostream& bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a>();
+	cts::bostream& bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a>();
 
         bcout << 
                 <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("Namespace '") << 
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -38,7 +38,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPE(TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2608144"></a><h2>Description</h2>
+<a name="id2608197"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a></code> macro reflects a type
                 previously registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library or a type derived
                 from a registered type. The argument of this macro is a type.
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -38,7 +38,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPEDEF(FULL_NAMESPACE_NAME, TYPEDEF)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2608498"></a><h2>Description</h2>
+<a name="id2608551"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPEDEF.html" title="Macro BOOST_MIRRORED_TYPEDEF">BOOST_MIRRORED_TYPEDEF</a></code> macro reflects a type
                 that is registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library as a <code class="computeroutput">typedef</code>-ined
                 type. 
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -39,7 +39,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE(TYPEDEF)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2609120"></a><h2>Description</h2>
+<a name="id2609174"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html" title="Macro BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE">BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE</a></code> macro reflects a type
                 that is registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library as a global-scope <code class="computeroutput">typedef</code>-ined
                 type. 
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GS.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GS.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -39,7 +39,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPEDEF_GS(TYPEDEF)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2608922"></a><h2>Description</h2>
+<a name="id2608976"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPEDEF_GS.html" title="Macro BOOST_MIRRORED_TYPEDEF_GS">BOOST_MIRRORED_TYPEDEF_GS</a></code> macro reflects a type
                 that is registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library as a global-scope <code class="computeroutput">typedef</code>-ined
                 type. 
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEOF.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEOF.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEOF.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -32,7 +32,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPEOF(EXPRESSION)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2609205"></a><h2>Description</h2>
+<a name="id2609259"></a><h2>Description</h2>
                 This macro is basically just a shorter form of 
 <pre class="programlisting">
         <a class="link" href="BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(BOOST_TYPEOF(EXPRESSION))
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE_NS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE_NS.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE_NS.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -35,7 +35,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPE_NS(FULL_NAMESPACE_NAME, TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2608302"></a><h2>Description</h2>
+<a name="id2608355"></a><h2>Description</h2>
 <p><code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPE_NS.html" title="Macro BOOST_MIRRORED_TYPE_NS">BOOST_MIRRORED_TYPE_NS</a>(NAMESPACE, TYPE)</code> 
                 is equivalent to <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(NAMESPACE :: TYPE)</code>.
                 </p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_NAMESPACE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_NAMESPACE.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_NAMESPACE.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_NAMESPACE(PP_SEQ)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2603098"></a><h2>Description</h2>
+<a name="id2603150"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_NAMESPACE.html" title="Macro BOOST_MIRROR_REG_NAMESPACE">BOOST_MIRROR_REG_NAMESPACE</a></code> macro registers a namespace with 
                 the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library. 
                 </p>
@@ -165,7 +165,7 @@
 {
         using namespace ::std;
         using namespace ::boost;
-	cts::<a class="link" href="boost/cts/bostream.html" title="Type definition bostream">bostream</a>& bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a>();
+	cts::<a class="link" href="boost/cts/bostream.html" title="Type definition bostream">bostream</a>& bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a>();
         bcout << 
                 <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("This is the global scope") << 
         endl <<
@@ -180,7 +180,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
-	cts::bostream& bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a>();
+	cts::bostream& bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a>();
 
         bcout << 
                 <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("Namespace '") << 
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -33,7 +33,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE(NAMESPACE, TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2605984"></a><h2>Description</h2>
+<a name="id2606037"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE.html" title="Macro BOOST_MIRROR_REG_TYPE">BOOST_MIRROR_REG_TYPE</a></code> macro registers a type with 
                 the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library. 
                 </p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -33,7 +33,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPEDEF(NAMESPACE, TYPEDEF)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2606727"></a><h2>Description</h2>
+<a name="id2606780"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPEDEF.html" title="Macro BOOST_MIRROR_REG_TYPEDEF">BOOST_MIRROR_REG_TYPEDEF</a></code> macro registers a <code class="computeroutput">typedef</code>
                 defined in a namespace with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library.
                 </p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE(TYPEDEF)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2607584"></a><h2>Description</h2>
+<a name="id2607637"></a><h2>Description</h2>
 <p>See the documentation for the <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPEDEF_GS.html" title="Macro BOOST_MIRROR_REG_TYPEDEF_GS">BOOST_MIRROR_REG_TYPEDEF_GS</a></code> 
                 macro for more details.
                 </p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GS.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GS.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -35,7 +35,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPEDEF_GS(TYPEDEF)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2607277"></a><h2>Description</h2>
+<a name="id2607329"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPEDEF_GS.html" title="Macro BOOST_MIRROR_REG_TYPEDEF_GS">BOOST_MIRROR_REG_TYPEDEF_GS</a></code> macro registers a global scope <code class="computeroutput">typedef</code> with 
                 the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library. 
                 </p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMB.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMB.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMB.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE_EMB(WRAPPER, TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2607642"></a><h2>Description</h2>
+<a name="id2607695"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE_EMB.html" title="Macro BOOST_MIRROR_REG_TYPE_EMB">BOOST_MIRROR_REG_TYPE_EMB</a></code> macro registers a type nested inside of a class with 
                 the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library. 
                 </p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMBEDDED.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMBEDDED.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMBEDDED.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE_EMBEDDED(WRAPPER, TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2608047"></a><h2>Description</h2>
+<a name="id2608099"></a><h2>Description</h2>
 <p>This macro is equivalent to the <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE_EMB.html" title="Macro BOOST_MIRROR_REG_TYPE_EMB">BOOST_MIRROR_REG_TYPE_EMB</a></code> macro.
                 See the documentation of <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE_EMB.html" title="Macro BOOST_MIRROR_REG_TYPE_EMB">BOOST_MIRROR_REG_TYPE_EMB</a></code> for more details.
                 </p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE(TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2606661"></a><h2>Description</h2>
+<a name="id2606713"></a><h2>Description</h2>
 <p>See the documentation for the <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE_GS.html" title="Macro BOOST_MIRROR_REG_TYPE_GS">BOOST_MIRROR_REG_TYPE_GS</a></code> 
                 macro for more details.
                 </p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GS.html	(original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GS.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,7 +34,7 @@
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE_GS(TYPE)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2606329"></a><h2>Description</h2>
+<a name="id2606382"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE_GS.html" title="Macro BOOST_MIRROR_REG_TYPE_GS">BOOST_MIRROR_REG_TYPE_GS</a></code> macro registers a global scope type with 
                 the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library. 
                 </p>
Modified: sandbox/mirror/doc/html/boost/cts/bchar.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/bchar.html	(original)
+++ sandbox/mirror/doc/html/boost/cts/bchar.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -35,7 +35,7 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
 <span class="bold"><strong>typedef</strong></span> <span class="bold"><strong>char</strong></span>-or-<span class="bold"><strong>wchar_t</strong></span> bchar;</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2617115"></a><h2>Description</h2>
+<a name="id2617315"></a><h2>Description</h2>
 <p>The <code class="computeroutput">bchar</code> type is defined as follows:
 </p>
 <pre class="programlisting">
Modified: sandbox/mirror/doc/html/boost/cts/bchar_traits.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/bchar_traits.html	(original)
+++ sandbox/mirror/doc/html/boost/cts/bchar_traits.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,7 +34,7 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
 <span class="bold"><strong>typedef</strong></span> ::std::char_traits<<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>> bchar_traits;</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2617918"></a><h2>Description</h2>
+<a name="id2618119"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a></code> type is defined as abbreviation for 
                 <code class="computeroutput">::std::char_traits<<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>></code>.
                 </p>
Modified: sandbox/mirror/doc/html/boost/cts/biostream.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/biostream.html	(original)
+++ sandbox/mirror/doc/html/boost/cts/biostream.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -33,13 +33,13 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
 <span class="bold"><strong>typedef</strong></span> ::std::basic_iostream<<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>> biostream;</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2619018"></a><h2>Description</h2>
+<a name="id2619219"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="biostream.html" title="Type definition biostream">biostream</a></code> type is defined as an abbreviation for 
                 <code class="computeroutput">::std::basic_iostream<<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>></code>.
                 </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="id2619059"></a>Examples</h6></div></div></div>
+<a name="id2619259"></a>Examples</h6></div></div></div>
 <pre class="programlisting">
 #include <assert.h>
 #include <boost/char_type_switch/string.hpp>
@@ -49,8 +49,8 @@
 {
         using namespace ::std;
         using namespace ::boost::cts;
-	<a class="link" href="bistream.html" title="Type definition bistream">bistream</a>& in  = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcin_id2479796">bcin</a>();
-	<a class="link" href="bostream.html" title="Type definition bostream">bostream</a>& out = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a>();
+	<a class="link" href="bistream.html" title="Type definition bistream">bistream</a>& in  = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcin_id2452185">bcin</a>();
+	<a class="link" href="bostream.html" title="Type definition bostream">bostream</a>& out = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a>();
 
         bstring str;
         out << <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("Enter a string: ") << flush;
Modified: sandbox/mirror/doc/html/boost/cts/bistream.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/bistream.html	(original)
+++ sandbox/mirror/doc/html/boost/cts/bistream.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,13 +34,13 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
 <span class="bold"><strong>typedef</strong></span> ::std::basic_istream<<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>> bistream;</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2618602"></a><h2>Description</h2>
+<a name="id2618802"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="bistream.html" title="Type definition bistream">bistream</a></code> type is defined as an abbreviation for 
                 <code class="computeroutput">::std::basic_istream<<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>></code>.
                 </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="id2618642"></a>Examples</h6></div></div></div>
+<a name="id2618842"></a>Examples</h6></div></div></div>
 <pre class="programlisting">
 #include <assert.h>
 #include <boost/char_type_switch/string.hpp>
@@ -50,8 +50,8 @@
 {
         using namespace ::std;
         using namespace ::boost::cts;
-	<a class="link" href="bistream.html" title="Type definition bistream">bistream</a>& in  = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcin_id2479796">bcin</a>();
-	<a class="link" href="bostream.html" title="Type definition bostream">bostream</a>& out = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a>();
+	<a class="link" href="bistream.html" title="Type definition bistream">bistream</a>& in  = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcin_id2452185">bcin</a>();
+	<a class="link" href="bostream.html" title="Type definition bostream">bostream</a>& out = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a>();
 
         bstring str;
         out << <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("Enter a string: ") << flush;
Modified: sandbox/mirror/doc/html/boost/cts/bostream.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/bostream.html	(original)
+++ sandbox/mirror/doc/html/boost/cts/bostream.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,13 +34,13 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
 <span class="bold"><strong>typedef</strong></span> ::std::basic_ostream<<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>> bostream;</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2618810"></a><h2>Description</h2>
+<a name="id2619010"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="bostream.html" title="Type definition bostream">bostream</a></code> type is defined as an abbreviation for 
                 <code class="computeroutput">::std::basic_ostream<<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>></code>.
                 </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="id2618850"></a>Examples</h6></div></div></div>
+<a name="id2619050"></a>Examples</h6></div></div></div>
 <pre class="programlisting">
 #include <assert.h>
 #include <boost/char_type_switch/string.hpp>
@@ -50,8 +50,8 @@
 {
         using namespace ::std;
         using namespace ::boost::cts;
-	<a class="link" href="bistream.html" title="Type definition bistream">bistream</a>& in  = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcin_id2479796">bcin</a>();
-	<a class="link" href="bostream.html" title="Type definition bostream">bostream</a>& out = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a>();
+	<a class="link" href="bistream.html" title="Type definition bistream">bistream</a>& in  = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcin_id2452185">bcin</a>();
+	<a class="link" href="bostream.html" title="Type definition bostream">bostream</a>& out = <a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a>();
 
         bstring str;
         out << <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("Enter a string: ") << flush;
Modified: sandbox/mirror/doc/html/boost/cts/bstring.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/bstring.html	(original)
+++ sandbox/mirror/doc/html/boost/cts/bstring.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,7 +34,7 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
 <span class="bold"><strong>typedef</strong></span> ::std::basic_string<<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>> bstring;</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2618051"></a><h2>Description</h2>
+<a name="id2618251"></a><h2>Description</h2>
 <p>The <code class="computeroutput"><a class="link" href="bstring.html" title="Type definition bstring">bstring</a></code> type is defined as an abbreviation for 
                 <code class="computeroutput">::std::basic_string<<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>></code>.
                 </p>
Modified: sandbox/mirror/doc/html/boost/mirror/meta_class.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_class.html	(original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_class.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -42,16 +42,16 @@
 <span class="bold"><strong>class</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a> : <span class="bold"><strong>public</strong></span> <a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a><Class>
 {
 <span class="bold"><strong>public</strong></span>:
-  <span class="emphasis"><em>// <a class="link" href="meta_class.html#id2520122-bbtypes">types</a></em></span>
+  <span class="emphasis"><em>// <a class="link" href="meta_class.html#id2468585-bbtypes">types</a></em></span>
   <span class="bold"><strong>typedef</strong></span> meta_base_classes<<span class="emphasis"><em>unspecified</em></span>> <a class="link" href="meta_class.html#boost.mirror.meta_class.base_classes">base_classes</a>;
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a><<span class="emphasis"><em>unspecified</em></span>> <a class="link" href="meta_class.html#boost.mirror.meta_class.attributes">attributes</a>;
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a><<span class="emphasis"><em>unspecified</em></span>> <a class="link" href="meta_class.html#boost.mirror.meta_class.all_attributes">all_attributes</a>;
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2609578"></a><h2>Description</h2>
+<a name="id2609632"></a><h2>Description</h2>
 <div class="refsect2" lang="en">
-<a name="id2609582"></a><h3>
-<a name="id2520122-bbtypes"></a><code class="computeroutput">meta_class</code> public types</h3>
+<a name="id2609635"></a><h3>
+<a name="id2468585-bbtypes"></a><code class="computeroutput">meta_class</code> public types</h3>
 <div class="orderedlist"><ol type="1">
 <li>
 <p>
Modified: sandbox/mirror/doc/html/boost/mirror/meta_class_all_attributes.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_class_all_attributes.html	(original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_class_all_attributes.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -44,11 +44,11 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> unspecified> 
 <span class="bold"><strong>class</strong></span> <a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a> {
 <span class="bold"><strong>public</strong></span>:
-  <span class="emphasis"><em>// <a class="link" href="meta_class_all_attributes.html#id2384444-bbtypes">types</a></em></span>
+  <span class="emphasis"><em>// <a class="link" href="meta_class_all_attributes.html#id2398256-bbtypes">types</a></em></span>
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a><<span class="emphasis"><em>unspecified</em></span>> <a class="link" href="meta_class_all_attributes.html#boost.mirror.meta_class_all_attributes.scope">scope</a>;
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2612016"></a><h2>Description</h2>
+<a name="id2612073"></a><h2>Description</h2>
 <p>
                 </p>
 <div class="section" lang="en">
@@ -61,8 +61,8 @@
 </div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id2612047"></a><h3>
-<a name="id2384444-bbtypes"></a><code class="computeroutput">meta_class_all_attributes</code> public types</h3>
+<a name="id2612104"></a><h3>
+<a name="id2398256-bbtypes"></a><code class="computeroutput">meta_class_all_attributes</code> public types</h3>
 <div class="orderedlist"><ol type="1"><li>
 <p>
 <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a><<span class="emphasis"><em>unspecified</em></span>> <a name="boost.mirror.meta_class_all_attributes.scope"></a>scope;</p>
Modified: sandbox/mirror/doc/html/boost/mirror/meta_class_attribute.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_class_attribute.html	(original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_class_attribute.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -37,7 +37,7 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> unspecified> 
 <span class="bold"><strong>class</strong></span> <a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a> {
 <span class="bold"><strong>public</strong></span>:
-  <span class="emphasis"><em>// <a class="link" href="meta_class_attribute.html#id2522189-bbtypes">types</a></em></span>
+  <span class="emphasis"><em>// <a class="link" href="meta_class_attribute.html#id2563755-bbtypes">types</a></em></span>
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a><<span class="emphasis"><em>unspecified</em></span>> <a class="link" href="meta_class_attribute.html#boost.mirror.meta_class_attribute.scope">scope</a>;
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a><<span class="emphasis"><em>unspecified</em></span>>-or-<a class="link" href="meta_class_all_attributes.html" title="Class template meta_class_all_attributes">meta_class_all_attributes</a><<span class="emphasis"><em>unspecified</em></span>> <a class="link" href="meta_class_attribute.html#boost.mirror.meta_class_attribute.container">container</a>;
   <span class="bold"><strong>typedef</strong></span> container <a class="link" href="meta_class_attribute.html#boost.mirror.meta_class_attribute.meta_attributes">meta_attributes</a>;
@@ -45,18 +45,18 @@
   <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="meta_class_attribute.html#boost.mirror.meta_class_attribute.type">type</a>;
   <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="meta_class_attribute.html#boost.mirror.meta_class_attribute.typedef_or_type">typedef_or_type</a>;
   <span class="bold"><strong>typedef</strong></span> meta_attribute_traits<<span class="emphasis"><em>unspecified</em></span>> <a class="link" href="meta_class_attribute.html#boost.mirror.meta_class_attribute.traits">traits</a>;
-  <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a class="link" href="meta_class_attribute.html#id2562696-bb">base_name</a>();
-  <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a class="link" href="meta_class_attribute.html#id2559037-bb">full_name</a>();
+  <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a class="link" href="meta_class_attribute.html#id2396065-bb">base_name</a>();
+  <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a class="link" href="meta_class_attribute.html#id2515183-bb">full_name</a>();
   <span class="bold"><strong>template</strong></span><<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT> 
     <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string<CharT>&</span> 
-    <a class="link" href="meta_class_attribute.html#id2458013-bb">get_name</a>(::boost::mpl::bool_<FullName>, ::std::char_traits<CharT>);
-  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="meta_class_attribute.html#id2540705-bb">get</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&);
+    <a class="link" href="meta_class_attribute.html#id2489536-bb">get_name</a>(::boost::mpl::bool_<FullName>, ::std::char_traits<CharT>);
+  <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="meta_class_attribute.html#id2565819-bb">get</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&);
   <span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> DestType> 
-    <span class="type">DestType&</span> <a class="link" href="meta_class_attribute.html#id2393453-bb">query</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&, DestType&);
-  <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="meta_class_attribute.html#id2524989-bb">set</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&, type);
+    <span class="type">DestType&</span> <a class="link" href="meta_class_attribute.html#id2386504-bb">query</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&, DestType&);
+  <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="meta_class_attribute.html#id2449646-bb">set</a>(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type&, type);
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2610430"></a><h2>Description</h2>
+<a name="id2610484"></a><h2>Description</h2>
 <p>This template allows to get both compile-time and run-time meta-data about
                 the member attribute of a class. At compile time the scope, position, type and several other traits of the attribute
                 can be inspected. At run-time one can get the base and full name of the attribute and to generically get and set its value.
@@ -71,8 +71,8 @@
 </div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id2610467"></a><h3>
-<a name="id2522189-bbtypes"></a><code class="computeroutput">meta_class_attribute</code> public types</h3>
+<a name="id2610521"></a><h3>
+<a name="id2563755-bbtypes"></a><code class="computeroutput">meta_class_attribute</code> public types</h3>
 <div class="orderedlist"><ol type="1">
 <li>
 <p>
@@ -129,15 +129,15 @@
 </li>
 </ol></div>
 </div>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a name="id2562696-bb"></a>base_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a name="id2396065-bb"></a>base_name();</pre>
 <p>This static member function returns the base name of the 
                         attribute reflected by the <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>.
                         When a full attribute name 
                         <span class="bold"><strong>including</strong></span> the class name, that the
                         reflected member attribute belongs to,
-			is needed use the <code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2559037-bb">full_name</a></code> member function
+			is needed use the <code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2515183-bb">full_name</a></code> member function
                         instead.</p>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a name="id2559037-bb"></a>full_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a name="id2515183-bb"></a>full_name();</pre>
 <p>This static member function returns the full name of the 
                         attribute reflected by the <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>
                         including the full name of the class that the attribute belongs to. For example:
@@ -156,7 +156,7 @@
 <p>
                         returns <code class="computeroutput">"::std::pair< int, double >::first"</code>. When the base attribute name 
                         <span class="bold"><strong>without</strong></span> the full class name 
-			is needed use the <code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2562696-bb">base_name</a></code> member function
+			is needed use the <code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2396065-bb">base_name</a></code> member function
                         instead.</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -173,7 +173,7 @@
 </table></div>
 <pre class="literallayout"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT> 
   <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string<CharT>&</span> 
-  <a name="id2458013-bb"></a>get_name(::boost::mpl::bool_<FullName> full, ::std::char_traits<CharT> cht);</pre>
+  <a name="id2489536-bb"></a>get_name(::boost::mpl::bool_<FullName> full, ::std::char_traits<CharT> cht);</pre>
 <p>This static member template function returns either the base name 
                         or the full name of the attribute reflected by this
                         <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code>,
@@ -182,7 +182,7 @@
                         <code class="computeroutput">::std::string</code> or <code class="computeroutput">::std::wstring</code> based
                         on the type of the second argument.
                         </p>
-<pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2540705-bb"></a>get(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type& instance);</pre>
+<pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2565819-bb"></a>get(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type& instance);</pre>
 <p>This static member function returns the value of the attribute reflected
                         by this <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code> when given 
                         an <code class="computeroutput">instance</code> of the class that the attribute belongs to:
@@ -199,13 +199,13 @@
 //
 // create an instance of the pair
 pair p(10, 20.0);
-assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2540705-bb">get</a></code>(p) == p.first);
-assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2540705-bb">get</a></code>(p) == p.second);
+assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565819-bb">get</a></code>(p) == p.first);
+assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565819-bb">get</a></code>(p) == p.second);
 </pre>
 <p>
                         </p>
 <pre class="literallayout"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> DestType> 
-  <span class="type">DestType&</span> <a name="id2393453-bb"></a>query(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type& instance, 
+  <span class="type">DestType&</span> <a name="id2386504-bb"></a>query(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type& instance, 
                   DestType& destination);</pre>
 <p>This static member function assigns the value of the attribute reflected
                         by this <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code> (when given 
@@ -229,15 +229,15 @@
 long first = 30;
 float second = 40.0f;
 // query the values and check them
-assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2393453-bb">query</a></code>(p, first) == 10);
-assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2393453-bb">query</a></code>(p, second) == 20.0f);
+assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2386504-bb">query</a></code>(p, first) == 10);
+assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2386504-bb">query</a></code>(p, second) == 20.0f);
 // and double check the variables
 assert(first == p.first);
 assert(second == p.second);
 </pre>
 <p>
                         </p>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2524989-bb"></a>set(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type& instance, type value);</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2449646-bb"></a>set(<span class="bold"><strong>const</strong></span> <span class="bold"><strong>typename</strong></span> scope::reflected_type& instance, type value);</pre>
 <p>This static member function assigns the given value to the attribute reflected
                         by this <code class="computeroutput"><a class="link" href="meta_class_attribute.html" title="Class template meta_class_attribute">meta_class_attribute</a></code> when given 
                         an <code class="computeroutput">instance</code> of the class that the attribute belongs to:
@@ -256,14 +256,14 @@
 pair p(10, 20.0f);
 pair r(30, 40.0f);
 // 
-assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2540705-bb">get</a></code>(p) != meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2540705-bb">get</a></code>(r));
-assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2540705-bb">get</a></code>(p) != meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2540705-bb">get</a></code>(r));
+assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565819-bb">get</a></code>(p) != meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565819-bb">get</a></code>(r));
+assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565819-bb">get</a></code>(p) != meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565819-bb">get</a></code>(r));
 // set new values
-meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2524989-bb">set</a></code>(p, meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2540705-bb">get</a></code>(r));
-meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2524989-bb">set</a></code>(p, meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2540705-bb">get</a></code>(r));
+meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2449646-bb">set</a></code>(p, meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565819-bb">get</a></code>(r));
+meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2449646-bb">set</a></code>(p, meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565819-bb">get</a></code>(r));
 // and check the values 
-assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2540705-bb">get</a></code>(p) == meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2540705-bb">get</a></code>(r));
-assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2540705-bb">get</a></code>(p) == meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2540705-bb">get</a></code>(r));
+assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565819-bb">get</a></code>(p) == meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565819-bb">get</a></code>(r));
+assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565819-bb">get</a></code>(p) == meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565819-bb">get</a></code>(r));
 // and double check them
 assert(p.first == r.first);
 assert(p.second == r.second);
Modified: sandbox/mirror/doc/html/boost/mirror/meta_class_attributes.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_class_attributes.html	(original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_class_attributes.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -44,11 +44,11 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> unspecified> 
 <span class="bold"><strong>class</strong></span> <a class="link" href="meta_class_attributes.html" title="Class template meta_class_attributes">meta_class_attributes</a> {
 <span class="bold"><strong>public</strong></span>:
-  <span class="emphasis"><em>// <a class="link" href="meta_class_attributes.html#id2478342-bbtypes">types</a></em></span>
+  <span class="emphasis"><em>// <a class="link" href="meta_class_attributes.html#id2497265-bbtypes">types</a></em></span>
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a><<span class="emphasis"><em>unspecified</em></span>> <a class="link" href="meta_class_attributes.html#boost.mirror.meta_class_attributes.scope">scope</a>;
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2611752"></a><h2>Description</h2>
+<a name="id2611808"></a><h2>Description</h2>
 <p>
                 </p>
 <div class="section" lang="en">
@@ -61,8 +61,8 @@
 </div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id2611784"></a><h3>
-<a name="id2478342-bbtypes"></a><code class="computeroutput">meta_class_attributes</code> public types</h3>
+<a name="id2611840"></a><h3>
+<a name="id2497265-bbtypes"></a><code class="computeroutput">meta_class_attributes</code> public types</h3>
 <div class="orderedlist"><ol type="1"><li>
 <p>
 <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a><<span class="emphasis"><em>unspecified</em></span>> <a name="boost.mirror.meta_class_attributes.scope"></a>scope;</p>
Modified: sandbox/mirror/doc/html/boost/mirror/meta_inheritance.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_inheritance.html	(original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_inheritance.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -36,19 +36,19 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> unspecified> 
 <span class="bold"><strong>class</strong></span> <a class="link" href="meta_inheritance.html" title="Class template meta_inheritance">meta_inheritance</a> {
 <span class="bold"><strong>public</strong></span>:
-  <span class="emphasis"><em>// <a class="link" href="meta_inheritance.html#id2545949-bbtypes">types</a></em></span>
+  <span class="emphasis"><em>// <a class="link" href="meta_inheritance.html#id2556880-bbtypes">types</a></em></span>
   <span class="bold"><strong>typedef</strong></span> mpl::int_<<span class="emphasis"><em>unspecified</em></span>> <a class="link" href="meta_inheritance.html#boost.mirror.meta_inheritance.position">position</a>;
   <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="meta_inheritance.html#boost.mirror.meta_inheritance.base_class">base_class</a>;
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a>< base_class > <a class="link" href="meta_inheritance.html#boost.mirror.meta_inheritance.meta_base_class">meta_base_class</a>;
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2612306"></a><h2>Description</h2>
+<a name="id2612363"></a><h2>Description</h2>
 <p>This template allows to get compile-time meta-data about
                 the inheritance of a base class of a class. 
                 </p>
 <div class="refsect2" lang="en">
-<a name="id2612317"></a><h3>
-<a name="id2545949-bbtypes"></a><code class="computeroutput">meta_inheritance</code> public types</h3>
+<a name="id2612374"></a><h3>
+<a name="id2556880-bbtypes"></a><code class="computeroutput">meta_inheritance</code> public types</h3>
 <div class="orderedlist"><ol type="1">
 <li>
 <p>
Modified: sandbox/mirror/doc/html/boost/mirror/meta_namespace.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_namespace.html	(original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_namespace.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -45,17 +45,17 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> NamespacePlaceholder> 
 <span class="bold"><strong>class</strong></span> <a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a> {
 <span class="bold"><strong>public</strong></span>:
-  <span class="emphasis"><em>// <a class="link" href="meta_namespace.html#id2425041-bbtypes">types</a></em></span>
+  <span class="emphasis"><em>// <a class="link" href="meta_namespace.html#id2513092-bbtypes">types</a></em></span>
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a><<span class="emphasis"><em>unspecified</em></span>> <a class="link" href="meta_namespace.html#boost.mirror.meta_namespace.scope">scope</a>;
   <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="meta_namespace.html#boost.mirror.meta_namespace.ancestors">ancestors</a>;
-  <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a class="link" href="meta_namespace.html#id2400420-bb">base_name</a>();
-  <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a class="link" href="meta_namespace.html#id2564436-bb">full_name</a>();
+  <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a class="link" href="meta_namespace.html#id2558738-bb">base_name</a>();
+  <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a class="link" href="meta_namespace.html#id2496660-bb">full_name</a>();
   <span class="bold"><strong>template</strong></span><<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT> 
     <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string<CharT>&</span> 
-    <a class="link" href="meta_namespace.html#id2531095-bb">get_name</a>(::boost::mpl::bool_<FullName>, ::std::char_traits<CharT>);
+    <a class="link" href="meta_namespace.html#id2520204-bb">get_name</a>(::boost::mpl::bool_<FullName>, ::std::char_traits<CharT>);
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2601866"></a><h2>Description</h2>
+<a name="id2601918"></a><h2>Description</h2>
 <p>The specializations of <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code> can 
                 be used to get meta-information about the reflected types, some at compile-time and some at run-time.
                 The following examples show type reflection and basic 
@@ -81,7 +81,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
-	cts::bostream& bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a>();
+	cts::bostream& bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a>();
 
         // several namespaces are pre-registered
         bcout << <a class="link" href="../../BOOST_MIRRORED_GLOBAL_SCOPE.html" title="Macro BOOST_MIRRORED_GLOBAL_SCOPE">BOOST_MIRRORED_GLOBAL_SCOPE</a>() ::base_name() << endl;
@@ -121,7 +121,7 @@
         {
                 using namespace ::std;
                 using namespace ::boost;
-		cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>& bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a>();
+		cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>& bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a>();
                 bcout << 
                         <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("ancestor ") <<
                         ctr++ <<
@@ -141,7 +141,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
-	cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>& bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a>();
+	cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>& bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a>();
         //
         typedef <a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a>(::boost::mirror) meta_boost_mirror;
         //
@@ -165,9 +165,9 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="mirror.meta_namespace.reference.sample03"></a>Example - Generic namespace name getter</h6></div></div></div>
-<p>The <code class="computeroutput"><a class="link" href="meta_namespace.html#id2400420-bb">base_name</a></code> and the 
-			<code class="computeroutput"><a class="link" href="meta_namespace.html#id2564436-bb">full_name</a></code> methods
-			are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_namespace.html#id2531095-bb">get_name</a></code> 
+<p>The <code class="computeroutput"><a class="link" href="meta_namespace.html#id2558738-bb">base_name</a></code> and the 
+			<code class="computeroutput"><a class="link" href="meta_namespace.html#id2496660-bb">full_name</a></code> methods
+			are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_namespace.html#id2520204-bb">get_name</a></code> 
                         member function allows to specify the character type of the returned string and 
                         to specify whether a full or just the base namespace name should be returned, based
                         on compile time arguments.
@@ -213,8 +213,8 @@
 </div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id2602359"></a><h3>
-<a name="id2425041-bbtypes"></a><code class="computeroutput">meta_namespace</code> public types</h3>
+<a name="id2602411"></a><h3>
+<a name="id2513092-bbtypes"></a><code class="computeroutput">meta_namespace</code> public types</h3>
 <div class="orderedlist"><ol type="1">
 <li>
 <p>
@@ -288,7 +288,7 @@
 </li>
 </ol></div>
 </div>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a name="id2400420-bb"></a>base_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a name="id2558738-bb"></a>base_name();</pre>
 <p>This static member function returns the base name of the 
                         namespace reflected by a <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>.
                         For example the base namespace name "returned" by the invocation of 
@@ -298,9 +298,9 @@
 <p>
                         is <code class="computeroutput">"mirror"</code>. When a full namespace name 
                         <span class="bold"><strong>with</strong></span> the nested name specifier
-			is needed use the <code class="computeroutput"><a class="link" href="meta_namespace.html#id2564436-bb">full_name</a></code> member function
+			is needed use the <code class="computeroutput"><a class="link" href="meta_namespace.html#id2496660-bb">full_name</a></code> member function
                         instead.</p>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a name="id2564436-bb"></a>full_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a name="id2496660-bb"></a>full_name();</pre>
 <p>This static member function returns the full name of the 
                         namespace reflected by a <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>
                         with the nested name specifier. For example:
@@ -310,7 +310,7 @@
 <p>
                         returns <code class="computeroutput">"::boost::mirror"</code>. When the base namespace name 
                         <span class="bold"><strong>without</strong></span> the nested name specifier
-			is needed use the <code class="computeroutput"><a class="link" href="meta_namespace.html#id2400420-bb">base_name</a></code> member function
+			is needed use the <code class="computeroutput"><a class="link" href="meta_namespace.html#id2558738-bb">base_name</a></code> member function
                         instead.</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -327,7 +327,7 @@
 </table></div>
 <pre class="literallayout"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT> 
   <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string<CharT>&</span> 
-  <a name="id2531095-bb"></a>get_name(::boost::mpl::bool_<FullName> full, ::std::char_traits<CharT> cht);</pre>
+  <a name="id2520204-bb"></a>get_name(::boost::mpl::bool_<FullName> full, ::std::char_traits<CharT> cht);</pre>
 <p>This static member template function returns either the base name 
                         <span class="bold"><strong>without</strong></span> the nested name specifier 
                         or the full name <span class="bold"><strong>with</strong></span> the 
@@ -342,14 +342,14 @@
 <pre class="programlisting"><code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code>(::boost::mirror) :: get_name(::boost::mpl::false_(), ::std::char_traits<char>())
                         </pre>
 <p> is equivalent to calling the 
-			<code class="computeroutput"><a class="link" href="meta_namespace.html#id2400420-bb">base_name</a></code> member function with the 
+			<code class="computeroutput"><a class="link" href="meta_namespace.html#id2558738-bb">base_name</a></code> member function with the 
                         <code class="computeroutput"><a class="link" href="../../BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a></code> symbol undefined, 
                         which returns a <code class="computeroutput">::std::string</code> holding the string <code class="computeroutput">"mirror"</code> and calling
                         </p>
 <pre class="programlisting"><code class="computeroutput"><a class="link" href="../../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code>(::boost::mirror) :: get_name(::boost::mpl::true_(), ::std::char_traits<wchar_t>())
                         </pre>
 <p> is equivalent to calling the 
-			<code class="computeroutput"><a class="link" href="meta_namespace.html#id2564436-bb">full_name</a></code> method with the 
+			<code class="computeroutput"><a class="link" href="meta_namespace.html#id2496660-bb">full_name</a></code> method with the 
                         <code class="computeroutput"><a class="link" href="../../BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a></code> symbol defined, 
                         which returns a <code class="computeroutput">::std::wstring</code> holding this string <code class="computeroutput">L"::boost::mirror"</code>.
                         </p>
Modified: sandbox/mirror/doc/html/boost/mirror/meta_type.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_type.html	(original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_type.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -44,17 +44,17 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> Type> 
 <span class="bold"><strong>class</strong></span> <a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a> {
 <span class="bold"><strong>public</strong></span>:
-  <span class="emphasis"><em>// <a class="link" href="meta_type.html#id2490670-bbtypes">types</a></em></span>
+  <span class="emphasis"><em>// <a class="link" href="meta_type.html#id2484468-bbtypes">types</a></em></span>
   <span class="bold"><strong>typedef</strong></span> Type <a class="link" href="meta_type.html#boost.mirror.meta_type.reflected_type">reflected_type</a>;
   <span class="bold"><strong>typedef</strong></span> <a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a><<span class="emphasis"><em>unspecified</em></span>>-or-<a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a><<span class="emphasis"><em>unspecified</em></span>> <a class="link" href="meta_type.html#boost.mirror.meta_type.scope">scope</a>;
-  <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a class="link" href="meta_type.html#id2491967-bb">base_name</a>();
-  <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a class="link" href="meta_type.html#id2545492-bb">full_name</a>();
+  <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a class="link" href="meta_type.html#id2508229-bb">base_name</a>();
+  <span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a class="link" href="meta_type.html#id2525221-bb">full_name</a>();
   <span class="bold"><strong>template</strong></span><<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT> 
     <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string<CharT>&</span> 
-    <a class="link" href="meta_type.html#id2476498-bb">get_name</a>(::boost::mpl::bool_<FullName>, ::std::char_traits<CharT>);
+    <a class="link" href="meta_type.html#id2507724-bb">get_name</a>(::boost::mpl::bool_<FullName>, ::std::char_traits<CharT>);
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2604704"></a><h2>Description</h2>
+<a name="id2604757"></a><h2>Description</h2>
 <p>The specializations of <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code> can 
                 be used to get meta-information about the reflected types, some at compile-time and some at run-time.
                 The following examples show type reflection and basic 
@@ -95,7 +95,7 @@
         typedef <a class="link" href="../../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(T) meta_T;
 
         // print out the full type name
-	cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a>() << 
+	cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a>() << 
                 <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("The full type name is: ") << 
                 meta_T::full_name() << 
         endl;
@@ -124,7 +124,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
-	cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>& bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a>(); 
+	cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>& bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a>(); 
         // print out the base type name
         bcout << 
                 <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("The type name is: ") << 
@@ -197,7 +197,7 @@
 {
         using namespace ::std;
         using namespace ::boost;
-	cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>& bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a>();
+	cts::<a class="link" href="../cts/bostream.html" title="Type definition bostream">bostream</a>& bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a>();
         bcout << <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("type: '");
         bcout << MetaType::base_name();
         bcout << <a class="link" href="../../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("'  defined in: '");
@@ -231,9 +231,9 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="mirror.meta_type.reference.sample04"></a>Example - Generic typename getter</h6></div></div></div>
-<p>The <code class="computeroutput"><a class="link" href="meta_type.html#id2491967-bb">base_name</a></code> and the 
-			<code class="computeroutput"><a class="link" href="meta_type.html#id2545492-bb">full_name</a></code> member functions
-			are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_type.html#id2476498-bb">get_name</a></code> 
+<p>The <code class="computeroutput"><a class="link" href="meta_type.html#id2508229-bb">base_name</a></code> and the 
+			<code class="computeroutput"><a class="link" href="meta_type.html#id2525221-bb">full_name</a></code> member functions
+			are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_type.html#id2507724-bb">get_name</a></code> 
                         method allows to specify the character type of the returned string and 
                         to specify whether a full or just the base name should be returned, based
                         on compile time arguments.
@@ -279,8 +279,8 @@
 </div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id2605343"></a><h3>
-<a name="id2490670-bbtypes"></a><code class="computeroutput">meta_type</code> public types</h3>
+<a name="id2605395"></a><h3>
+<a name="id2484468-bbtypes"></a><code class="computeroutput">meta_type</code> public types</h3>
 <div class="orderedlist"><ol type="1">
 <li>
 <p>
@@ -299,7 +299,7 @@
 </li>
 </ol></div>
 </div>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a name="id2491967-bb"></a>base_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a name="id2508229-bb"></a>base_name();</pre>
 <p>This static member function returns the base name of the 
                         type reflected by <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>
                         without the nested name specifier. For example:
@@ -313,7 +313,7 @@
 <p>
                         returns simply <code class="computeroutput">"string"</code>. When a full type name 
                         <span class="bold"><strong>with</strong></span> the nested name specifier
-			is needed use the <code class="computeroutput"><a class="link" href="meta_type.html#id2545492-bb">full_name</a></code> member function
+			is needed use the <code class="computeroutput"><a class="link" href="meta_type.html#id2525221-bb">full_name</a></code> member function
                         instead.</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -329,7 +329,7 @@
                         </p></td>
 </tr></tbody>
 </table></div>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a name="id2545492-bb"></a>full_name();</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>const</strong></span> cts::<a class="link" href="../cts/bstring.html" title="Type definition bstring">bstring</a>&</span> <a name="id2525221-bb"></a>full_name();</pre>
 <p>This static member function returns the full name of the 
                         type reflected by <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>
                         with the nested name specifier. For example:
@@ -343,7 +343,7 @@
 <p> 
                         returns <code class="computeroutput">"::std::string"</code>. When the base type name 
                         <span class="bold"><strong>without</strong></span> the nested name specifier
-			is needed use the <code class="computeroutput"><a class="link" href="meta_type.html#id2491967-bb">base_name</a></code> member function
+			is needed use the <code class="computeroutput"><a class="link" href="meta_type.html#id2508229-bb">base_name</a></code> member function
                         instead.</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -361,7 +361,7 @@
 </table></div>
 <pre class="literallayout"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>bool</strong></span> FullName, <span class="bold"><strong>typename</strong></span> CharT> 
   <span class="type"><span class="bold"><strong>const</strong></span> ::std::basic_string<CharT>&</span> 
-  <a name="id2476498-bb"></a>get_name(::boost::mpl::bool_<FullName> full, ::std::char_traits<CharT> cht);</pre>
+  <a name="id2507724-bb"></a>get_name(::boost::mpl::bool_<FullName> full, ::std::char_traits<CharT> cht);</pre>
 <p>This static member template function returns either the base name 
                         <span class="bold"><strong>without</strong></span> the nested name specifier 
                         or the full name <span class="bold"><strong>with</strong></span> the 
@@ -379,7 +379,7 @@
 <pre class="programlisting"><code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code> < ::std::string > :: get_name(::boost::mpl::false_(), ::std::char_traits<char>())</pre>
 <p> 
                         is equivalent to calling the 
-			<code class="computeroutput"><a class="link" href="meta_type.html#id2491967-bb">base_name</a></code> member function with the
+			<code class="computeroutput"><a class="link" href="meta_type.html#id2508229-bb">base_name</a></code> member function with the
                         <code class="computeroutput"><a class="link" href="../../BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a></code> symbol undefined, 
                         which returns a <code class="computeroutput">::std::string</code> containing <code class="computeroutput">"string"</code> and calling
                         </p>
@@ -388,7 +388,7 @@
                         </p>
 <pre class="programlisting"><code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code> < ::std::string > :: get_name( ::boost::mpl::true_(), ::std::char_traits<wchar_t>())</pre>
 <p> is equivalent to calling the 
-			<code class="computeroutput"><a class="link" href="meta_type.html#id2545492-bb">full_name</a></code> method with the 
+			<code class="computeroutput"><a class="link" href="meta_type.html#id2525221-bb">full_name</a></code> method with the 
                         <code class="computeroutput"><a class="link" href="../../BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a></code> symbol defined, 
                         which returns a <code class="computeroutput">::std::wstring</code> containing <code class="computeroutput">L"::std::string"</code>.
                         </p>
Modified: sandbox/mirror/doc/html/boost/mirror/reflects_class.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/reflects_class.html	(original)
+++ sandbox/mirror/doc/html/boost/mirror/reflects_class.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -37,7 +37,7 @@
 <span class="bold"><strong>class</strong></span> <a class="link" href="reflects_class.html" title="Class template reflects_class">reflects_class</a> : <span class="bold"><strong>public</strong></span> <span class="type">false_type-or-true_type</span> {
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2613754"></a><h2>Description</h2>
+<a name="id2613811"></a><h2>Description</h2>
 <p>This template can be used to distinguish whether the opaque <code class="computeroutput">MetaObject</code> type reflects a class
                                 and thus is an instantiation of <code class="computeroutput"><a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a></code>.
                                 </p>
Modified: sandbox/mirror/doc/html/boost/mirror/reflects_global_scope.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/reflects_global_scope.html	(original)
+++ sandbox/mirror/doc/html/boost/mirror/reflects_global_scope.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -38,7 +38,7 @@
 <span class="bold"><strong>class</strong></span> <a class="link" href="reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a> : <span class="bold"><strong>public</strong></span> <span class="type">false_type-or-true_type</span> {
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2613042"></a><h2>Description</h2>
+<a name="id2613099"></a><h2>Description</h2>
 <p>This template can be used to distinguish whether the opaque <code class="computeroutput">MetaObject</code> type reflects the global scope
                                 and thus is an instantiation of <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code> for the global scope.
                                 </p>
Modified: sandbox/mirror/doc/html/boost/mirror/reflects_namespace.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/reflects_namespace.html	(original)
+++ sandbox/mirror/doc/html/boost/mirror/reflects_namespace.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -37,7 +37,7 @@
 <span class="bold"><strong>class</strong></span> <a class="link" href="reflects_namespace.html" title="Class template reflects_namespace">reflects_namespace</a> : <span class="bold"><strong>public</strong></span> <span class="type">false_type-or-true_type</span> {
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2612612"></a><h2>Description</h2>
+<a name="id2612669"></a><h2>Description</h2>
 <p>This template can be used to distinguish whether the opaque <code class="computeroutput">MetaObject</code> type reflects a namespace
                                 and thus is an instantiation of <code class="computeroutput"><a class="link" href="meta_namespace.html" title="Class template meta_namespace">meta_namespace</a></code>.
                                 </p>
Modified: sandbox/mirror/doc/html/boost/mirror/reflects_type.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/reflects_type.html	(original)
+++ sandbox/mirror/doc/html/boost/mirror/reflects_type.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -37,7 +37,7 @@
 <span class="bold"><strong>class</strong></span> <a class="link" href="reflects_type.html" title="Class template reflects_type">reflects_type</a> : <span class="bold"><strong>public</strong></span> <span class="type">false_type-or-true_type</span> {
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id2613502"></a><h2>Description</h2>
+<a name="id2613559"></a><h2>Description</h2>
 <p>This template can be used to distinguish whether the opaque <code class="computeroutput">MetaObject</code> type reflects a type or a class
                                 and thus is an instantiation of <code class="computeroutput"><a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a></code>.
                                 </p>
Modified: sandbox/mirror/doc/html/char_type_switch.html
==============================================================================
--- sandbox/mirror/doc/html/char_type_switch.html	(original)
+++ sandbox/mirror/doc/html/char_type_switch.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -34,7 +34,7 @@
 </div></div>
 <div><p class="copyright">Copyright © 2008 Matúš Chochlík</p></div>
 <div><div class="legalnotice">
-<a name="id2616449"></a><p>Use, modification and distribution is subject to the Boost
+<a name="id2616642"></a><p>Use, modification and distribution is subject to the Boost
                         Software License, Version 1.0. (See accompanying file
                         <code class="filename">LICENSE_1_0.txt</code> or copy at http://www.boost.org/LICENSE_1_0.txt)
                         </p>
@@ -49,7 +49,7 @@
 <dt><span class="section">Motivation</span></dt>
 </dl></dd>
 <dt><span class="section">Char Type Switch Reference</span></dt>
-<dd><dl><dt><span class="section">Header files</span></dt></dl></dd>
+<dd><dl><dt><span class="section">Header files</span></dt></dl></dd>
 </dl>
 </div>
 <div class="section" lang="en">
@@ -78,8 +78,8 @@
         <code class="computeroutput">::boost::cts::<a class="link" href="boost/cts/bistream.html" title="Type definition bistream">bistream</a></code>, 
         <code class="computeroutput">::boost::cts::<a class="link" href="boost/cts/bostream.html" title="Type definition bostream">bostream</a></code>, etc., 
         functions like 
-	<code class="computeroutput">::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrlen_id2437435">bstrlen</a></code>, 
-	<code class="computeroutput">::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcpy_id2431675">bstrcpy</a></code>, etc.
+	<code class="computeroutput">::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrlen_id2543632">bstrlen</a></code>, 
+	<code class="computeroutput">::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcpy_id2527396">bstrcpy</a></code>, etc.
         and macros like 
         <code class="computeroutput"><a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>(STRING_LITERAL)</code> OR
         <code class="computeroutput"><a class="link" href="BOOST_CTS_LIT_LENGTH.html" title="Macro BOOST_CTS_LIT_LENGTH">BOOST_CTS_LIT_LENGTH</a>(STRING_LITERAL)</code> 
Modified: sandbox/mirror/doc/html/char_type_switch/reference.html
==============================================================================
--- sandbox/mirror/doc/html/char_type_switch/reference.html	(original)
+++ sandbox/mirror/doc/html/char_type_switch/reference.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -25,12 +25,12 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="char_type_switch.reference"></a>Char Type Switch Reference</h2></div></div></div>
-<div class="toc"><dl><dt><span class="section">Header files</span></dt></dl></div>
+<div class="toc"><dl><dt><span class="section">Header files</span></dt></dl></div>
 <p>
         </p>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="id2616819"></a>Header files</h3></div></div></div>
+<a name="id2617020"></a>Header files</h3></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section">Header <boost/char_type_switch/choice.hpp></span></dt>
 <dt><span class="section">Header <boost/char_type_switch/char.hpp></span></dt>
@@ -78,31 +78,31 @@
     <span class="bold"><strong>typedef</strong></span> ::std::basic_ostream<<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="../boost/cts/bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>> <a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a>;
     <span class="bold"><strong>typedef</strong></span> ::std::basic_iostream<<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>, <a class="link" href="../boost/cts/bchar_traits.html" title="Type definition bchar_traits">bchar_traits</a>> <a class="link" href="../boost/cts/biostream.html" title="Type definition biostream">biostream</a>;
 
-    <span class="emphasis"><em>// <a class="link" href="reference.html#id2410501-bb">free-functions</a></em></span>
-    <span class="type"><a class="link" href="../boost/cts/bistream.html" title="Type definition bistream">bistream</a>&</span> <a class="link" href="reference.html#boost.cts.bcin_id2479796">bcin</a>();
-    <span class="type"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a>&</span> <a class="link" href="reference.html#boost.cts.bcout_id2506581">bcout</a>();
+    <span class="emphasis"><em>// <a class="link" href="reference.html#id2452830-bb">free-functions</a></em></span>
+    <span class="type"><a class="link" href="../boost/cts/bistream.html" title="Type definition bistream">bistream</a>&</span> <a class="link" href="reference.html#boost.cts.bcin_id2452185">bcin</a>();
+    <span class="type"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a>&</span> <a class="link" href="reference.html#boost.cts.bcout_id2418316">bcout</a>();
   }
 }</pre>
 <div class="refsect2" lang="en">
-<a name="id2618323"></a><h3>
-<a name="id2410501-bb"></a><code class="computeroutput"></code> free-functions</h3>
+<a name="id2618524"></a><h3>
+<a name="id2452830-bb"></a><code class="computeroutput"></code> free-functions</h3>
 <div class="orderedlist"><ol type="1">
 <li>
-<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bistream.html" title="Type definition bistream">bistream</a>&</span> <a name="boost.cts.bcin_id2479796"></a>bcin();</pre>
+<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bistream.html" title="Type definition bistream">bistream</a>&</span> <a name="boost.cts.bcin_id2452185"></a>bcin();</pre>
 <p>Returns a reference to the standard input stream. 
                 </p>
 <p>If <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> is defined as <code class="computeroutput">char</code> then this function returns a reference 
                 to <code class="computeroutput">::std::cin</code>, otherwise if <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> is defined as <code class="computeroutput">wchar_t</code>,
-		then <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bcin_id2479796">bcin</a></code> returns a reference to <code class="computeroutput">::std::wcin</code>.
+		then <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bcin_id2452185">bcin</a></code> returns a reference to <code class="computeroutput">::std::wcin</code>.
                 </p>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a>&</span> <a name="boost.cts.bcout_id2506581"></a>bcout();</pre>
+<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a>&</span> <a name="boost.cts.bcout_id2418316"></a>bcout();</pre>
 <p>Returns a reference to the standard output stream. 
                 </p>
 <p>If <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> is defined as <code class="computeroutput">char</code> then this function returns a reference 
                 to <code class="computeroutput">::std::cout</code>, otherwise if <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> is defined as <code class="computeroutput">wchar_t</code>,
-		then <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bcout_id2506581">bcout</a></code> returns a reference to <code class="computeroutput">::std::wcout</code>.
+		then <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bcout_id2418316">bcout</a></code> returns a reference to <code class="computeroutput">::std::wcout</code>.
                 </p>
 </li>
 </ol></div>
@@ -114,19 +114,19 @@
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> cts {
 
-    <span class="emphasis"><em>// <a class="link" href="reference.html#id2543391-bb">free-functions</a></em></span>
-    <span class="type">size_t</span> <a class="link" href="reference.html#boost.cts.bstrlen_id2437435">bstrlen</a>(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*);
-    <span class="type"><span class="bold"><strong>int</strong></span></span> <a class="link" href="reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a>(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*);
-    <span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a class="link" href="reference.html#boost.cts.bstrcpy_id2431675">bstrcpy</a>(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*);
-    <span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a class="link" href="reference.html#boost.cts.bstrncpy_id2481852">bstrncpy</a>(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, size_t);
+    <span class="emphasis"><em>// <a class="link" href="reference.html#id2505805-bb">free-functions</a></em></span>
+    <span class="type">size_t</span> <a class="link" href="reference.html#boost.cts.bstrlen_id2543632">bstrlen</a>(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*);
+    <span class="type"><span class="bold"><strong>int</strong></span></span> <a class="link" href="reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a>(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*);
+    <span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a class="link" href="reference.html#boost.cts.bstrcpy_id2527396">bstrcpy</a>(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*);
+    <span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a class="link" href="reference.html#boost.cts.bstrncpy_id2484309">bstrncpy</a>(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*, size_t);
   }
 }</pre>
 <div class="refsect2" lang="en">
-<a name="id2619320"></a><h3>
-<a name="id2543391-bb"></a><code class="computeroutput"></code> free-functions</h3>
+<a name="id2619520"></a><h3>
+<a name="id2505805-bb"></a><code class="computeroutput"></code> free-functions</h3>
 <div class="orderedlist"><ol type="1">
 <li>
-<pre class="literallayout"><span class="type">size_t</span> <a name="boost.cts.bstrlen_id2437435"></a>bstrlen(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* str);</pre>
+<pre class="literallayout"><span class="type">size_t</span> <a name="boost.cts.bstrlen_id2543632"></a>bstrlen(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* str);</pre>
 <p>Returns the length (the count of characters) of the given string without the terminating null character.
                 </p>
 <p>Calling this function is equivalent to calling <code class="computeroutput">strlen</code> if 
@@ -143,18 +143,18 @@
 int main(void)
 {
         using namespace ::boost::cts;
-	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrlen_id2437435">bstrlen</a></code>(<code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo")) == 3);
-	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrlen_id2437435">bstrlen</a></code>(<code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo")) == <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT_LENGTH.html" title="Macro BOOST_CTS_LIT_LENGTH">BOOST_CTS_LIT_LENGTH</a></code>("foo"));
+	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrlen_id2543632">bstrlen</a></code>(<code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo")) == 3);
+	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrlen_id2543632">bstrlen</a></code>(<code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo")) == <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT_LENGTH.html" title="Macro BOOST_CTS_LIT_LENGTH">BOOST_CTS_LIT_LENGTH</a></code>("foo"));
         //
         const <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> bar[] = <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("bar");
-	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrlen_id2437435">bstrlen</a></code>(bar) == 3);
+	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrlen_id2543632">bstrlen</a></code>(bar) == 3);
         return 0;
 }
 </pre>
 </div>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="boost.cts.bstrcmp_id2519272"></a>bstrcmp(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* str1, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* str2);</pre>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>int</strong></span></span> <a name="boost.cts.bstrcmp_id2522416"></a>bstrcmp(<span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* str1, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* str2);</pre>
 <p>This function compares the given two strings and returns an integral value that indicates the relationship between them.
                 </p>
 <p>Calling this function is equivalent to calling <code class="computeroutput">strcmp</code> if 
@@ -177,19 +177,19 @@
         const <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> foo[] = <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo");
         const <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> bar[] = <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("bar");
 
-	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a></code>(foo, bar) > 0);
-	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a></code>(foo, foo) == 0);
-	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a></code>(bar, foo) < 0);
+	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a></code>(foo, bar) > 0);
+	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a></code>(foo, foo) == 0);
+	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a></code>(bar, foo) < 0);
 
-	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a></code>(foo, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("baz")) > 0);
-	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a></code>(foo, <code class="computeroutput"><a class="link" href="../BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a></code>(foobar)) <= 0);
+	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a></code>(foo, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("baz")) > 0);
+	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a></code>(foo, <code class="computeroutput"><a class="link" href="../BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a></code>(foobar)) <= 0);
         return 0;
 }
 </pre>
 </div>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a name="boost.cts.bstrcpy_id2431675"></a>bstrcpy(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* dst, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* src);</pre>
+<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a name="boost.cts.bstrcpy_id2527396"></a>bstrcpy(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* dst, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* src);</pre>
 <p>This function copies <code class="computeroutput">src</code> into <code class="computeroutput">dst</code> including the terminating null character and returns <code class="computeroutput">dst</code>.
                         <code class="computeroutput">dst</code> should not overlap <code class="computeroutput">src</code> in memory.
                 </p>
@@ -210,19 +210,19 @@
         <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> aaa[4];
         <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> bbb[4];
 
-	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2431675">bstrcpy</a></code>(aaa, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo"));
-	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2431675">bstrcpy</a></code>(bbb, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("bar"));
-	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a></code>(aaa, bbb) != 0);
+	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2527396">bstrcpy</a></code>(aaa, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo"));
+	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2527396">bstrcpy</a></code>(bbb, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("bar"));
+	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a></code>(aaa, bbb) != 0);
 
-	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2431675">bstrcpy</a></code>(bbb, aaa);
-	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a></code>(aaa, bbb) == 0);
+	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2527396">bstrcpy</a></code>(bbb, aaa);
+	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a></code>(aaa, bbb) == 0);
         return 0;
 }
 </pre>
 </div>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a name="boost.cts.bstrncpy_id2481852"></a>bstrncpy(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* dst, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* src, size_t num);</pre>
+<pre class="literallayout"><span class="type"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>*</span> <a name="boost.cts.bstrncpy_id2484309"></a>bstrncpy(<a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* dst, <span class="bold"><strong>const</strong></span> <a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a>* src, size_t num);</pre>
 <p>This function copies the first <code class="computeroutput">num</code> characters from <code class="computeroutput">src</code> into <code class="computeroutput">dst</code> and returns <code class="computeroutput">dst</code>.
                 If the end of <code class="computeroutput">src</code> is found before <code class="computeroutput">num</code> characters are copied, <code class="computeroutput">dst</code> is padded with null characters
                 until the count of modified characters reaches <code class="computeroutput">num</code>. If <code class="computeroutput">num</code> is less or equal to the length of <code class="computeroutput">src</code>,
@@ -246,16 +246,16 @@
         <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> aaa[size];
         <code class="computeroutput"><a class="link" href="../boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> bbb[size];
 
-	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2481852">bstrncpy</a></code>(aaa, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo"), size);
-	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2481852">bstrncpy</a></code>(bbb, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("bar"), size);
-	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a></code>(aaa, bbb) != 0);
+	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2484309">bstrncpy</a></code>(aaa, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foo"), size);
+	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2484309">bstrncpy</a></code>(bbb, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("bar"), size);
+	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a></code>(aaa, bbb) != 0);
 
-	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2481852">bstrncpy</a></code>(bbb, aaa, size);
-	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a></code>(aaa, bbb) == 0);
+	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2484309">bstrncpy</a></code>(bbb, aaa, size);
+	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a></code>(aaa, bbb) == 0);
 
-	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2481852">bstrncpy</a></code>(bbb, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foobar"), size);
+	<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2484309">bstrncpy</a></code>(bbb, <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("foobar"), size);
         bbb[size-1] = <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>('\0');
-	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2519272">bstrcmp</a></code>(aaa, bbb) == 0);	return 0;
+	assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2522416">bstrcmp</a></code>(aaa, bbb) == 0);	return 0;
 }
 </pre>
 </div>
Modified: sandbox/mirror/doc/html/mirror.html
==============================================================================
--- sandbox/mirror/doc/html/mirror.html	(original)
+++ sandbox/mirror/doc/html/mirror.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -62,8 +62,9 @@
 <dt><span class="section">Traits</span></dt>
 <dt><span class="section">Intrinsic Metafunctions</span></dt>
 <dt><span class="section">Algorithms</span></dt>
+<dt><span class="section">Iterators</span></dt>
 <dt><span class="section">Traversals</span></dt>
-<dt><span class="section">Header files</span></dt>
+<dt><span class="section">Header files</span></dt>
 </dl></dd>
 <dt><span class="section">Examples</span></dt>
 <dd><dl>
@@ -359,8 +360,30 @@
                 works out of the box.
         </p>
 </div>
-<div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title">
-<a name="mirror.motivation.problem.uniformmemattaccess"></a>Problem - Uniform access to member attributes of a class' instance</h4></div></div></div></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="mirror.motivation.problem.uniformmemattaccess"></a>Problem - Uniform access to member attributes of a class' instance</h4></div></div></div>
+<p>
+		In some situations it is useful to have the ability to traverse or iterate through
+		the member variables (or attributes) of a class' instance. Operations
+		like serialization, parameter marshalling, automated construction 
+		of GUIs for object inspection, are only some examples of this.
+		In many of such applications it is also useful to have some additional
+		meta-data about the class members, like information about their name, 
+		type, specifiers, etc.
+	</p>
+<p>
+		Using the <a class="link" href="mirror/reference.html#mirror.reference.iterators" title="Iterators">iterators</a> or 
+		<a class="link" href="mirror/reference.html#mirror.reference.traversals" title="Traversals">traversals</a> combined 
+		with custom visitors and other facilities provided by Mirror, it is possible
+		to implement such operations in a very generic manner.
+		More importantly it is possible to separate these operations from the 
+		types on which they are going to be executed.
+	</p>
+<p>
+		
+	</p>
+</div>
 <div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title">
 <a name="mirror.motivation.problem.factory"></a>Problem - Generating class factories</h4></div></div></div></div>
 <div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title">
Modified: sandbox/mirror/doc/html/mirror/examples.html
==============================================================================
--- sandbox/mirror/doc/html/mirror/examples.html	(original)
+++ sandbox/mirror/doc/html/mirror/examples.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -43,7 +43,7 @@
 <p>
                 </p>
 <div class="table">
-<a name="id2614330"></a><p class="title"><b>Table 1.5. Registering examples</b></p>
+<a name="id2552839"></a><p class="title"><b>Table 1.5. Registering examples</b></p>
 <div class="table-contents"><table class="table" summary="Registering examples">
 <colgroup>
 <col>
@@ -67,7 +67,7 @@
 <p>The following table contains a list of examples showing the use of the <a class="link" href="reference.html#mirror.reference.reflecting" title="Reflecting">reflection macros</a>.
                 </p>
 <div class="table">
-<a name="id2614413"></a><p class="title"><b>Table 1.6. Reflection examples</b></p>
+<a name="id2552922"></a><p class="title"><b>Table 1.6. Reflection examples</b></p>
 <div class="table-contents"><table class="table" summary="Reflection examples">
 <colgroup>
 <col>
@@ -105,7 +105,7 @@
 <p>Examples listed in the following table are related to the usage of the templates modelling the <a class="link" href="concepts.html#mirror.concepts.meta_object" title="MetaObject">MetaObject</a> concept.
                 </p>
 <div class="table">
-<a name="id2614577"></a><p class="title"><b>Table 1.7. Reflection examples</b></p>
+<a name="id2614771"></a><p class="title"><b>Table 1.7. Reflection examples</b></p>
 <div class="table-contents"><table class="table" summary="Reflection examples">
 <colgroup>
 <col>
@@ -206,7 +206,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
-	cts::bostream& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a></code>();
+	cts::bostream& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a></code>();
 
         // several namespaces are pre-registered
         bcout << <code class="computeroutput"><a class="link" href="../BOOST_MIRRORED_GLOBAL_SCOPE.html" title="Macro BOOST_MIRRORED_GLOBAL_SCOPE">BOOST_MIRRORED_GLOBAL_SCOPE</a></code>() ::base_name() << endl;
@@ -249,7 +249,7 @@
         {
                 using namespace ::std;
                 using namespace ::boost;
-		cts::<code class="computeroutput"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a></code>& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a></code>();
+		cts::<code class="computeroutput"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a></code>& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a></code>();
                 bcout << 
                         <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("ancestor ") <<
                         ctr++ <<
@@ -269,7 +269,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
-	cts::<code class="computeroutput"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a></code>& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a></code>();
+	cts::<code class="computeroutput"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a></code>& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a></code>();
         //
         typedef <code class="computeroutput"><a class="link" href="../BOOST_MIRRORED_NAMESPACE.html" title="Macro BOOST_MIRRORED_NAMESPACE">BOOST_MIRRORED_NAMESPACE</a></code>(::boost::mirror) meta_boost_mirror;
         //
@@ -417,7 +417,7 @@
 {
         using namespace ::std;
         using namespace ::boost;
-	cts::<code class="computeroutput"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a></code>& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a></code>();
+	cts::<code class="computeroutput"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a></code>& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a></code>();
         bcout << 
                 <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("This is the global scope") << 
         endl <<
@@ -432,7 +432,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
-	cts::bostream& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a></code>();
+	cts::bostream& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a></code>();
 
         bcout << 
                 <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("Namespace '") << 
@@ -531,7 +531,7 @@
         typedef <code class="computeroutput"><a class="link" href="../BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a></code>(T) meta_T;
 
         // print out the full type name
-	cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a></code>() << 
+	cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a></code>() << 
                 <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("The full type name is: ") << 
                 meta_T::full_name() << 
         endl;
@@ -565,7 +565,7 @@
         using namespace ::std;
         using namespace ::boost;
         using namespace ::boost::mirror;
-	cts::<code class="computeroutput"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a></code>& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2506581">bcout</a></code>(); 
+	cts::<code class="computeroutput"><a class="link" href="../boost/cts/bostream.html" title="Type definition bostream">bostream</a></code>& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2418316">bcout</a></code>(); 
         // print out the base type name
         bcout << 
                 <code class="computeroutput"><a class="link" href="../BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a></code>("The type name is: ") << 
Modified: sandbox/mirror/doc/html/mirror/reference.html
==============================================================================
--- sandbox/mirror/doc/html/mirror/reference.html	(original)
+++ sandbox/mirror/doc/html/mirror/reference.html	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -32,8 +32,9 @@
 <dt><span class="section">Traits</span></dt>
 <dt><span class="section">Intrinsic Metafunctions</span></dt>
 <dt><span class="section">Algorithms</span></dt>
+<dt><span class="section">Iterators</span></dt>
 <dt><span class="section">Traversals</span></dt>
-<dt><span class="section">Header files</span></dt>
+<dt><span class="section">Header files</span></dt>
 </dl></div>
 <p>
         </p>
@@ -58,7 +59,7 @@
                 As a general rule of the thumb these macros should be used in the <code class="computeroutput">boost::mirror</code> namespace.
                 </p>
 <div class="table">
-<a name="id2553534"></a><p class="title"><b>Table 1.1. Registering macros</b></p>
+<a name="id2600251"></a><p class="title"><b>Table 1.1. Registering macros</b></p>
 <div class="table-contents"><table class="table" summary="Registering macros">
 <colgroup>
 <col>
@@ -130,7 +131,7 @@
                 the individual macros.
                 </p>
 <div class="table">
-<a name="id2600551"></a><p class="title"><b>Table 1.2. Reflection macros</b></p>
+<a name="id2600590"></a><p class="title"><b>Table 1.2. Reflection macros</b></p>
 <div class="table-contents"><table class="table" summary="Reflection macros">
 <colgroup>
 <col>
@@ -202,7 +203,7 @@
                 template instantiations are commonly referred to as MetaObjects. Some other MetaObjects can be accessed by applying the intrinsic meta-functions on other MetaObjects.
                 </p>
 <div class="table">
-<a name="id2600960"></a><p class="title"><b>Table 1.3. Meta objects</b></p>
+<a name="id2600999"></a><p class="title"><b>Table 1.3. Meta objects</b></p>
 <div class="table-contents"><table class="table" summary="Meta objects">
 <colgroup>
 <col>
@@ -263,7 +264,7 @@
                 indicate whether the inspected MetaObject has or has not the trait.  
                 </p>
 <div class="table">
-<a name="id2601232"></a><p class="title"><b>Table 1.4. Traits</b></p>
+<a name="id2601271"></a><p class="title"><b>Table 1.4. Traits</b></p>
 <div class="table-contents"><table class="table" summary="Traits">
 <colgroup>
 <col>
@@ -321,13 +322,19 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
+<a name="mirror.reference.iterators"></a>Iterators</h3></div></div></div>
+<p>
+		</p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
 <a name="mirror.reference.traversals"></a>Traversals</h3></div></div></div>
 <p>
                 </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="id2601530"></a>Header files</h3></div></div></div>
+<a name="id2601582"></a>Header files</h3></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section">Header <boost/mirror/meta_namespace.hpp></span></dt>
 <dt><span class="section">Header <boost/mirror/meta_type.hpp></span></dt>
Modified: sandbox/mirror/libs/mirror/doc/introduction.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/introduction.xml	(original)
+++ sandbox/mirror/libs/mirror/doc/introduction.xml	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -204,6 +204,27 @@
 <section id="mirror.motivation.problem.uniformmemattaccess">
         <title>Problem - Uniform access to member attributes of a class' instance</title>
 
+	<para>
+		In some situations it is useful to have the ability to traverse or iterate through
+		the member variables (or attributes) of a class' instance. Operations
+		like serialization, parameter marshalling, automated construction 
+		of GUIs for object inspection, are only some examples of this.
+		In many of such applications it is also useful to have some additional
+		meta-data about the class members, like information about their name, 
+		type, specifiers, etc.
+	</para>
+	<para>
+		Using the <link linkend="mirror.reference.iterators">iterators</link> or 
+		<link linkend="mirror.reference.traversals">traversals</link> combined 
+		with custom visitors and other facilities provided by Mirror, it is possible
+		to implement such operations in a very generic manner.
+		More importantly it is possible to separate these operations from the 
+		types on which they are going to be executed.
+	</para>
+	<para>
+		
+	</para>
+
 </section>
 
 <section id="mirror.motivation.problem.factory">
Modified: sandbox/mirror/libs/mirror/doc/reference.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference.xml	(original)
+++ sandbox/mirror/libs/mirror/doc/reference.xml	2009-03-20 07:20:02 EDT (Fri, 20 Mar 2009)
@@ -252,6 +252,11 @@
                 <para>
                 </para>
         </section>
+	<section id="mirror.reference.iterators">
+		<title>Iterators</title>
+		<para>
+		</para>
+	</section>
         <section id="mirror.reference.traversals">
                 <title>Traversals</title>
                 <para>