|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r50053 - in sandbox/mirror: boost/mirror boost/mirror/detail boost/mirror/intrinsic boost/mirror/intrinsic/detail boost/mirror/meta_namespaces/boost boost/mirror/meta_path boost/mirror/meta_types/boost/mpl boost/mirror/traits boost/mirror/utils boost/mirror/visitors doc/html doc/html/boost/cts doc/html/boost/mirror doc/html/char_type_switch doc/html/mirror doc/html/mirror/non_boost_book/concepts doc/html/mirror/non_boost_book/concepts/overview libs/mirror/doc/reference libs/mirror/example/registering libs/mirror/example/special libs/mirror/test
From: chochlik_at_[hidden]
Date: 2008-12-01 07:12:51
Author: matus.chochlik
Date: 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
New Revision: 50053
URL: http://svn.boost.org/trac/boost/changeset/50053
Log:
[mirror 0.3.x beta]
- new sub-version number, early working beta
Added:
sandbox/mirror/boost/mirror/meta_namespaces/boost/mpl.hpp (contents, props changed)
sandbox/mirror/boost/mirror/meta_types/boost/mpl/
sandbox/mirror/boost/mirror/meta_types/boost/mpl/int.hpp (contents, props changed)
sandbox/mirror/doc/html/mirror/non_boost_book/concepts/overview/AccessSpecifier.xml (contents, props changed)
sandbox/mirror/doc/html/mirror/non_boost_book/concepts/overview/InheritanceSpecifier.xml (contents, props changed)
Removed:
sandbox/mirror/boost/mirror/utils/
Text files modified:
sandbox/mirror/boost/mirror/detail/argument_type_list.hpp | 8 +
sandbox/mirror/boost/mirror/detail/traversal.hpp | 29 +++--
sandbox/mirror/boost/mirror/intrinsic/detail/base_class_at.hpp | 10 +
sandbox/mirror/boost/mirror/intrinsic/get_type_list.hpp | 2
sandbox/mirror/boost/mirror/meta_attributes.hpp | 168 ++++++++++++++++++++++++++-----------
sandbox/mirror/boost/mirror/meta_class.hpp | 4
sandbox/mirror/boost/mirror/meta_inheritance.hpp | 174 ++++++++++++++++-----------------------
sandbox/mirror/boost/mirror/meta_path/prior.hpp | 12 --
sandbox/mirror/boost/mirror/meta_path/siblings.hpp | 12 --
sandbox/mirror/boost/mirror/traits/reflects_inheritance.hpp | 14 --
sandbox/mirror/boost/mirror/traits/reflects_virtual_inheritance.hpp | 28 ++++--
sandbox/mirror/boost/mirror/traversal.hpp | 20 +++-
sandbox/mirror/boost/mirror/visitors/meta_path_sample.hpp | 21 ---
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 | 4
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/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 | 16 +++
sandbox/mirror/doc/html/boost/mirror/meta_class_attribute.html | 56 ++++++------
sandbox/mirror/doc/html/boost/mirror/meta_class_attributes.html | 16 +++
sandbox/mirror/doc/html/boost/mirror/meta_inheritance.html | 8
sandbox/mirror/doc/html/boost/mirror/meta_namespace.html | 38 ++++----
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/examples.html | 20 ++--
sandbox/mirror/doc/html/mirror/non_boost_book/concepts/ontology.xml | 64 +++++++++-----
sandbox/mirror/doc/html/mirror/non_boost_book/concepts/overview/transform.xsl | 43 +++++++++
sandbox/mirror/libs/mirror/doc/reference/class_meta_class_all_attributes.xml | 10 ++
sandbox/mirror/libs/mirror/doc/reference/class_meta_class_attributes.xml | 11 ++
sandbox/mirror/libs/mirror/example/registering/classes.cpp | 6
sandbox/mirror/libs/mirror/example/registering/virtual_bases.cpp | 81 +++++++++++++++++
sandbox/mirror/libs/mirror/example/special/boost_tuple.cpp | 4
sandbox/mirror/libs/mirror/example/special/std_pair.cpp | 4
sandbox/mirror/libs/mirror/test/classes_ct_03.cpp | 72 ++++++++++++----
sandbox/mirror/libs/mirror/test/classes_ct_04.cpp | 5
sandbox/mirror/libs/mirror/test/classes_ct_05.cpp | 13 ++
sandbox/mirror/libs/mirror/test/classes_ct_07.cpp | 11 +
66 files changed, 741 insertions(+), 483 deletions(-)
Modified: sandbox/mirror/boost/mirror/detail/argument_type_list.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/detail/argument_type_list.hpp (original)
+++ sandbox/mirror/boost/mirror/detail/argument_type_list.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -58,6 +58,14 @@
private:
typedef type_name_decorator_literals<CharT> lits;
public:
+ template <int I>
+ inline void operator()(::boost::mpl::identity< ::boost::mpl::int_<I> >)
+ {
+ static ::std::basic_string<CharT> comma(lits::get(lits::comma()));
+ //TODO: list.append();
+ list.append(comma);
+ }
+
template <typename T>
inline void operator()(::boost::mpl::identity<T>)
{
Modified: sandbox/mirror/boost/mirror/detail/traversal.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/detail/traversal.hpp (original)
+++ sandbox/mirror/boost/mirror/detail/traversal.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -15,6 +15,7 @@
#include <boost/mirror/meta_path/node_context.hpp>
//
#include <boost/ref.hpp>
+#include <boost/type_traits/remove_reference.hpp>
//
#include <assert.h>
@@ -39,13 +40,19 @@
typedef typename mpl::push_back<NodePath, MetaClass>::type
ClassNodePath;
+ typedef typename remove_reference<
+ typename MetaClass::reflected_type
+ >::type* InstancePtr;
+
+
+
template <class VisitorType>
class attribute_traversal
{
public:
attribute_traversal(
reference_wrapper<VisitorType> _visitor,
- typename MetaClass::reflected_type* _ptr_to_inst
+ InstancePtr _ptr_to_inst
)
: visitor(_visitor)
, ptr_to_inst(_ptr_to_inst)
@@ -90,7 +97,7 @@
}
private:
VisitorType& visitor;
- typename MetaClass::reflected_type* ptr_to_inst;
+ InstancePtr ptr_to_inst;
// process single attribute WITH an instance
template <class MetaAttribute, class AttribsNodePath>
@@ -116,11 +123,9 @@
typedef BOOST_TYPEOF(ma.get(*ptr_to_inst)) instance_type;
instance_type instance(ma.get(*ptr_to_inst));
//
- typedef typename MetaAttribute::type
- attrib_type_selector;
// traverse the attribute
TraversalType<
- BOOST_MIRRORED_CLASS(attrib_type_selector),
+ typename MetaAttribute::type,
typename mpl::push_back<
AttribsNodePath,
MetaAttribute
@@ -155,10 +160,8 @@
);
//
// traverse the attributes
- typedef typename MetaAttribute::type
- attrib_type_selector;
TraversalType<
- BOOST_MIRRORED_CLASS(attrib_type_selector),
+ typename MetaAttribute::type,
typename mpl::push_back<
AttribsNodePath,
MetaAttribute
@@ -181,7 +184,7 @@
static inline attribute_traversal<VisitorType>
show_attribs_to(
reference_wrapper<VisitorType> visitor,
- typename MetaClass::reflected_type* ptr_to_inst
+ InstancePtr ptr_to_inst
)
{
return attribute_traversal<VisitorType>(visitor, ptr_to_inst);
@@ -194,7 +197,7 @@
public:
base_class_traversal(
reference_wrapper<VisitorType> _visitor,
- typename MetaClass::reflected_type* _ptr_to_inst
+ InstancePtr _ptr_to_inst
)
: visitor(_visitor)
, ptr_to_inst(_ptr_to_inst)
@@ -240,7 +243,7 @@
);
//
// get the meta-class of the base class
- typedef typename MetaInheritance::meta_base_class
+ typedef typename MetaInheritance::base_class
meta_base_class;
// traverse the base class
TraversalType<
@@ -261,7 +264,7 @@
}
private:
VisitorType& visitor;
- typename MetaClass::reflected_type* ptr_to_inst;
+ InstancePtr ptr_to_inst;
};
// base class traversal factory function
@@ -269,7 +272,7 @@
static inline base_class_traversal<VisitorType>
show_bases_to(
reference_wrapper<VisitorType> visitor,
- typename MetaClass::reflected_type* ptr_to_inst
+ InstancePtr ptr_to_inst
)
{
return base_class_traversal<VisitorType>(visitor, ptr_to_inst);
Modified: sandbox/mirror/boost/mirror/intrinsic/detail/base_class_at.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/intrinsic/detail/base_class_at.hpp (original)
+++ sandbox/mirror/boost/mirror/intrinsic/detail/base_class_at.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -28,10 +28,12 @@
template <class MetaBaseClasses, class Position>
struct meta_inheritance_at
{
- typedef typename mpl::at<
- typename MetaBaseClasses::list,
- Position
- >::type type;
+ typedef meta_inheritance<
+ typename mpl::at<
+ typename MetaBaseClasses::list,
+ Position
+ >::type
+ > type;
};
} // namespace detail
Modified: sandbox/mirror/boost/mirror/intrinsic/get_type_list.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/intrinsic/get_type_list.hpp (original)
+++ sandbox/mirror/boost/mirror/intrinsic/get_type_list.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -54,7 +54,7 @@
template <class MetaInheritance>
struct get_type_list_impl_get_base_class
{
- typedef typename MetaInheritance::base_class
+ typedef typename MetaInheritance::base_class::reflected_type
type;
};
template <class Class, class VariantTag>
Modified: sandbox/mirror/boost/mirror/meta_attributes.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/meta_attributes.hpp (original)
+++ sandbox/mirror/boost/mirror/meta_attributes.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -10,7 +10,8 @@
#ifndef BOOST_MIRROR_META_ATTRIBUTES_HPP
#define BOOST_MIRROR_META_ATTRIBUTES_HPP
-#include <boost/mirror/traits/reflects_virtual_inheritance.hpp>
+#include <boost/mirror/access_spec.hpp>
+#include <boost/mirror/inherit_spec.hpp>
// macros for declaration of simple meta attributes
#include <boost/mirror/detail/meta_attribs_base.hpp>
//
@@ -24,11 +25,25 @@
#include <boost/mpl/accumulate.hpp>
#include <boost/mpl/contains.hpp>
#include <boost/mpl/less.hpp>
-#include <boost/mpl/lambda.hpp>
namespace boost {
namespace mirror {
+namespace detail {
+ /* contains the basic inheritance information from
+ * a meta_inheritance.
+ */
+ template <
+ class InheritanceSpecifier,
+ class MetaClass
+ > struct base_class_inheritance_info
+ {
+ typedef InheritanceSpecifier inheritance;
+ typedef MetaClass base_class;
+ };
+
+} // namespace detail
+
/** This is basically the same as the "attributes" structure
* but allows to work with all member attributes including
* the inherited ones.
@@ -39,31 +54,64 @@
>
struct meta_class_all_attributes
{
- typedef boost::mirror::meta_class<ReflectedType, VariantTag>
- meta_class;
+ // the scope of the MetaAttributeSequence
typedef boost::mirror::meta_class<ReflectedType, VariantTag>
scope;
- /** This struct "hides" the internal helpers
+
+ /** This struct "hides" the internal helpers. Anything inside
+ * is implementation detail and can change without any
+ * notice.
*/
struct detail
{
+ /** Tells whether a base class is inherited virtually
+ */
+ template <class BaseInheritanceInfo>
+ struct is_inherited_virtually
+ : public is_same<
+ typename BaseInheritanceInfo::inheritance,
+ virtual_base_
+ >{ };
+
+ /* extracts the basic inheritance information from
+ * a meta_inheritance.
+ */
+ template <typename MetaInheritance>
+ struct get_base_info_from_meta_inheritance
+ {
+ typedef ::boost::mirror::detail::base_class_inheritance_info<
+ typename MetaInheritance::inheritance,
+ typename MetaInheritance::base_class
+ > type;
+ };
+
+ /** Accumulate the basic inheritance information
+ * about the base classes of this class
+ */
+ typedef typename mpl::accumulate<
+ typename scope::base_classes::list,
+ mpl::vector0<>,
+ mpl::push_back<
+ mpl::_1,
+ get_base_info_from_meta_inheritance<
+ mpl::_2
+ >
+ >
+ >::type list_of_base_class_infos;
+
/** The list of non-virtual base classes in the same
* order as they were registered.
*/
typedef typename mpl::remove_if<
- typename meta_class::base_classes::list,
- mpl::lambda<
- reflects_virtual_inheritance<mpl::_1>
- >::type
+ list_of_base_class_infos,
+ is_inherited_virtually<mpl::_1>
>::type list_of_regular_base_classes;
- /** The list of directly inhertied virtual base classes.
+ /** The list of directly inherited virtual base classes.
*/
typedef typename mpl::remove_if<
- typename meta_class::base_classes::list,
- mpl::lambda<
- mpl::not_<reflects_virtual_inheritance<mpl::_1> >
- >::type
+ list_of_base_class_infos,
+ mpl::not_<is_inherited_virtually<mpl::_1> >
>::type list_of_virtual_base_classes;
/** This template gets the regular_base_class_layout
@@ -76,7 +124,7 @@
typedef MetaInheritance meta_inheritance;
typedef typename
meta_inheritance::
- meta_base_class::
+ base_class::
all_attributes::
detail::
regular_base_class_layout type;
@@ -111,7 +159,7 @@
typedef MetaInheritance meta_inheritance;
typedef typename
meta_inheritance::
- meta_base_class::
+ base_class::
all_attributes::
detail::
virtual_base_class_layout type;
@@ -127,7 +175,7 @@
typedef MetaInheritance meta_inheritance;
typedef typename
meta_inheritance::
- meta_base_class::
+ base_class::
all_attributes::
detail::
base_class_layout type;
@@ -138,10 +186,10 @@
* removed to form virtual_base_class_layout
*/
typedef typename mpl::accumulate<
- typename meta_class::base_classes::list,
+ list_of_base_class_infos,
mpl::vector0<>,
mpl::if_<
- reflects_virtual_inheritance<
+ is_inherited_virtually<
mpl::_2
>,
mpl::push_back<
@@ -163,7 +211,8 @@
>
>
>::type virtual_base_class_layout_w_dups;
-
+
+
/** The layout of virtual base classes
* of this class, stored as a mpl::vector
* of meta_inheritances.
@@ -186,14 +235,14 @@
/** This template gets the list of member
* attrbute types of a base class when
- * given a meta_inheritance<> specialization
+ * given a meta_inheritance specialization
*/
template <class MetaInheritance>
struct get_base_class_attrib_type_list
{
typedef MetaInheritance meta_inheritance;
typedef typename meta_inheritance::
- meta_base_class::
+ base_class::
attributes::
type_list type;
};
@@ -226,7 +275,7 @@
*/
typedef typename mpl::joint_view<
typename detail::inherited_member_attrib_type_list,
- typename meta_class::attributes::type_list
+ typename scope::attributes::type_list
>::type member_attrib_type_list;
@@ -240,9 +289,9 @@
typedef MetaInheritance meta_inheritance;
typedef typename meta_inheritance::
- meta_base_class meta_base_class;
+ base_class base_class;
- typedef typename meta_base_class::
+ typedef typename base_class::
attributes::
type_list type_list;
@@ -250,7 +299,7 @@
current_list
>::type offset;
typedef typename mpl::pair<
- meta_base_class,
+ base_class,
offset
> pair;
@@ -302,7 +351,7 @@
mpl::int_<I>
>::type owner_and_offset;
- typedef typename owner_and_offset::first meta_class;
+ typedef typename owner_and_offset::first ancestor;
typedef typename mpl::int_<mpl::minus<
mpl::int_<I>,
typename owner_and_offset::second
@@ -330,11 +379,11 @@
)
{
typedef typename inherited_attrib_meta_class_and_pos<I>
- ::meta_class meta_class;
+ ::ancestor ancestor;
typedef typename inherited_attrib_meta_class_and_pos<I>
::position new_position;
- return meta_class::attributes::get_name(
+ return ancestor::attributes::get_name(
new_position(),
full_name,
cht
@@ -352,7 +401,7 @@
typedef typename own_attrib_meta_class_and_pos<I>
::position new_position;
- return meta_class::attributes::get_name(
+ return scope::attributes::get_name(
new_position(),
full_name,
cht
@@ -368,11 +417,11 @@
get(Class instance, mpl::int_<I> pos, mpl::bool_<true>)
{
typedef typename inherited_attrib_meta_class_and_pos<I>
- ::meta_class meta_class;
+ ::ancestor ancestor;
typedef typename inherited_attrib_meta_class_and_pos<I>
::position new_position;
- return meta_class::attributes::get(instance, new_position());
+ return ancestor::attributes::get(instance, new_position());
}
template <class Class, int I>
@@ -381,7 +430,7 @@
{
typedef typename own_attrib_meta_class_and_pos<I>
::position new_position;
- return meta_class::attributes::get(instance, new_position());
+ return scope::attributes::get(instance, new_position());
}
@@ -393,11 +442,11 @@
query(Class instance, mpl::int_<I> pos, DestType& dest, mpl::bool_<true>)
{
typedef typename inherited_attrib_meta_class_and_pos<I>
- ::meta_class meta_class;
+ ::ancestor ancestor;
typedef typename inherited_attrib_meta_class_and_pos<I>
::position new_position;
- return meta_class::attributes::query(instance, new_position(), dest);
+ return ancestor::attributes::query(instance, new_position(), dest);
}
@@ -407,7 +456,7 @@
{
typedef typename own_attrib_meta_class_and_pos<I>
::position new_position;
- return meta_class::attributes::query(instance, new_position(), dest);
+ return scope::attributes::query(instance, new_position(), dest);
}
@@ -419,11 +468,11 @@
set(Class& instance, mpl::int_<I> pos, ValueType value, mpl::bool_<true>)
{
typedef typename inherited_attrib_meta_class_and_pos<I>
- ::meta_class meta_class;
+ ::ancestor ancestor;
typedef typename inherited_attrib_meta_class_and_pos<I>
::position new_position;
- meta_class::attributes::set(instance, new_position(), value);
+ ancestor::attributes::set(instance, new_position(), value);
}
template <class Class, int I, typename ValueType>
@@ -432,19 +481,19 @@
{
typedef typename own_attrib_meta_class_and_pos<I>
::position new_position;
- meta_class::attributes::set(instance, new_position(), value);
+ scope::attributes::set(instance, new_position(), value);
}
template <int I>
struct inherited_attrib_meta_class
{
typedef typename inherited_attrib_meta_class_and_pos<I>
- ::meta_class type;
+ ::ancestor type;
};
struct own_attrib_meta_class
{
- typedef meta_class type;
+ typedef scope type;
};
template <int I>
@@ -469,7 +518,7 @@
Inherited,
inherited_attrib_meta_class<I>,
own_attrib_meta_class
- >::type meta_class;
+ >::type ancestor;
// get the position inside of the meta-class' attributes
typedef typename mpl::eval_if<
@@ -482,7 +531,7 @@
// get the return value type of the get_traits function
BOOST_TYPEOF_NESTED_TYPEDEF_TPL(
detail,
- meta_class::attributes::get_traits(position())
+ ancestor::attributes::get_traits(position())
)
// the traits of the i-th attribute
@@ -491,7 +540,6 @@
}; // struct result_of_get_traits
}; // struct detail
-
/** The list of inherited attribute types
*/
typedef typename detail::inherited_member_attrib_type_list
@@ -503,13 +551,18 @@
/** The list of types of all attributes including
* the inherited ones.
+ * WARNING: this is an implementation detail which
+ * can change without any notice.
*/
typedef typename detail::member_attrib_type_list type_list;
/** The size of the type_list, i.e. the count of all attributes
+ * WARNING: this is an implementation detail which
+ * can change without any notice.
*/
struct size : public mpl::size<type_list> { };
+ private:
template <int I>
struct result_of_is_inherited
{
@@ -528,6 +581,7 @@
{
return typename result_of_is_inherited<I>::type();
}
+ public:
/** Gets the name of the I-th member (including
* the inherited ones)
@@ -657,15 +711,17 @@
// in this instance
typedef MetaAttributes container;
typedef MetaAttributes meta_attributes;
-
// the position of the meta-attribute
typedef AttribPos position;
-
- // the type of the attribute
+ private:
+ // use type::reflected_type to get the type
+ // of the attribute
typedef typename mpl::at<
typename MetaAttributes::type_list,
position
- >::type type;
+ >::type attribute_type;
+ public:
+
template <typename CharT>
inline static const ::std::basic_string<CharT>& get_name(
@@ -730,7 +786,7 @@
// value setter
inline static void set(
owner_class& instance,
- typename call_traits<type>::param_type val
+ typename call_traits<attribute_type>::param_type val
)
{
meta_attributes::set(instance, position(), val);
@@ -739,22 +795,32 @@
// value setter
inline static void set(
const owner_class& instance,
- typename call_traits<type>::param_type val
+ typename call_traits<attribute_type>::param_type val
)
{
meta_attributes::set(instance, position(), val);
}
+ private:
// attribute traits
BOOST_TYPEOF_NESTED_TYPEDEF_TPL(
detail_traits,
meta_attributes::get_traits(position())
)
+ public:
typedef typename detail_traits::type traits;
-
+ private:
// mirror type selector
typedef typename traits::meta_type_selector
typedef_or_type;
+ public:
+ /** the meta_class/meta_type reflecting
+ * the type of the attribute.
+ */
+ // TODO: this need to be fixed to work with the selector
+ //typedef BOOST_MIRRORED_CLASS(typedef_or_type)
+ typedef BOOST_MIRRORED_CLASS(attribute_type)
+ type;
};
Modified: sandbox/mirror/boost/mirror/meta_class.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/meta_class.hpp (original)
+++ sandbox/mirror/boost/mirror/meta_class.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -77,6 +77,7 @@
all_attributes;
/** Meta data concerning the destructor of the reflected class
+ * EXPERIMENTAL
*/
typedef meta_class_destructor<Class, VariantTag>
destructor;
@@ -119,9 +120,6 @@
>
{ };
-
-
-
/** This macro should be included in the definition of every class
* with private or protected members, that should be refleccted
*/
Modified: sandbox/mirror/boost/mirror/meta_inheritance.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/meta_inheritance.hpp (original)
+++ sandbox/mirror/boost/mirror/meta_inheritance.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -23,126 +23,78 @@
namespace boost {
namespace mirror {
+namespace detail {
-
-/** helper template instances of which define the inheritance type,
- * access specifiers and base class of a meta_class
+/** Internal information about a class inheritance
*/
template <
- class BaseClass,
- typename AccessSpec,
- typename InheritanceSpec
-> struct meta_inheritance_defs
+ class DerivedClass,
+ class VariantTag,
+ class Position,
+ class BaseClass,
+ class AccessSpecifier,
+ class InheritanceSpecifier
+>
+struct class_inheritance_info
{
- typedef InheritanceSpec inheritance_specifier;
- typedef AccessSpec access_specifier;
- typedef BaseClass base_class;
- typedef BOOST_MIRRORED_CLASS(BaseClass) meta_base_class;
+ struct detail {
+ typedef DerivedClass derived_class;
+ typedef VariantTag derived_class_vt;
+ }; // struct detail
+
+ // the scope ot the meta_inheritance
+ typedef BOOST_MIRRORED_CLASS(DerivedClass) scope;
+ // the position inside of the containder
+ typedef Position position;
+ // access specifier
+ typedef AccessSpecifier access;
+ // inheritance specifier
+ typedef InheritanceSpecifier inheritance;
+ // meta_class reflecting the base class
+ typedef BOOST_MIRRORED_CLASS(BaseClass) base_class;
};
-/** This template stores the inheritance type and access specifier
- * of a base class for a derived class
+
+} // namespace detail
+
+
+/** Forward declaration of the meta_base_classes template
*/
template <
- class BaseClass,
- typename AccessSpec,
- typename InheritanceSpec
-> struct meta_inheritance_spec;
-
-template <class BaseClass>
-struct meta_inheritance_spec<
- BaseClass,
- private_,
- virtual_base_
-> : meta_inheritance_defs<
- BaseClass,
- private_,
- virtual_base_
-> { };
-
-template <class BaseClass>
-struct meta_inheritance_spec<
- BaseClass,
- protected_,
- virtual_base_
-> : meta_inheritance_defs<
- BaseClass,
- protected_,
- virtual_base_
-> { };
-
-template <class BaseClass>
-struct meta_inheritance_spec<
- BaseClass,
- public_,
- virtual_base_
-> : meta_inheritance_defs<
- BaseClass,
- public_,
- virtual_base_
-> { };
-
-template <class BaseClass>
-struct meta_inheritance_spec<
- BaseClass,
- private_,
- nonvirtual_base_
-> : meta_inheritance_defs<
- BaseClass,
- private_,
- nonvirtual_base_
-> { };
-
-template <class BaseClass>
-struct meta_inheritance_spec<
- BaseClass,
- protected_,
- nonvirtual_base_
-> : meta_inheritance_defs<
- BaseClass,
- protected_,
- nonvirtual_base_
-> { };
-
-template <class BaseClass>
-struct meta_inheritance_spec<
- BaseClass,
- public_,
- nonvirtual_base_
-> : meta_inheritance_defs<
- BaseClass,
- public_,
- nonvirtual_base_
-> { };
+ class Class,
+ class VariantTag = detail::default_meta_class_variant
+>
+struct meta_base_classes;
/** This template stores the inheritance type and access specifier
* of a base class for a derived class
*/
template <
- class Position,
- class BaseClass,
- typename AccessSpec,
- typename InheritanceSpec = nonvirtual_base_
->
-struct meta_inheritance
-: meta_inheritance_spec<
- BaseClass,
- AccessSpec,
- InheritanceSpec
+ class InheritanceInfo
>
+struct meta_inheritance : public InheritanceInfo
{
- typedef Position position;
+ // the container where this meta inheritance belongs
+ typedef meta_base_classes<
+ typename InheritanceInfo::detail::derived_class,
+ typename InheritanceInfo::detail::derived_class_vt
+ > container;
+ typedef typename InheritanceInfo::position position;
+ typedef typename InheritanceInfo::scope scope;
+ typedef typename InheritanceInfo::inheritance inheritance;
+ typedef typename InheritanceInfo::access access;
+ typedef typename InheritanceInfo::base_class base_class;
};
/** Default (empty) list of base classes of a meta_class
*/
template <
class Class,
- class VariantTag = detail::default_meta_class_variant
+ class VariantTag
>
struct meta_base_classes
{
- typedef Class derived_class;
+ typedef BOOST_MIRRORED_CLASS(Class) scope;
typedef mpl::vector0<> list;
};
@@ -155,7 +107,9 @@
A_CLASS, \
detail::default_meta_class_variant \
> { \
- typedef A_CLASS derived_class;\
+ typedef BOOST_MIRRORED_CLASS(A_CLASS) scope; \
+ typedef A_CLASS derived_class; \
+ typedef detail::default_meta_class_variant derived_class_vt; \
typedef mpl::vector<
/** This macro declares that the A_BASE_CLASS class is the i-th
@@ -165,12 +119,15 @@
*/
#define BOOST_MIRROR_REG_SIMPLE_BASE_CLASS(NUMBER, A_BASE_CLASS) \
BOOST_PP_COMMA_IF(NUMBER) \
- meta_inheritance<\
+ detail::class_inheritance_info<\
+ derived_class, \
+ derived_class_vt, \
mpl::int_<NUMBER>, \
A_BASE_CLASS, \
class_kind_default_access<\
meta_class_kind< A_BASE_CLASS >::result \
- >::specifier \
+ >::specifier, \
+ nonvirtual_base_ \
>
/** This macro declares that the A_BASE_CLASS class is the i-th
@@ -180,7 +137,14 @@
*/
#define BOOST_MIRROR_REG_BASE_CLASS(NUMBER, ACCESS_SPEC, A_BASE_CLASS) \
BOOST_PP_COMMA_IF(NUMBER) \
- meta_inheritance<mpl::int_<NUMBER>, A_BASE_CLASS, ACCESS_SPEC##_>
+ detail::class_inheritance_info< \
+ derived_class, \
+ derived_class_vt, \
+ mpl::int_<NUMBER>, \
+ A_BASE_CLASS, \
+ ACCESS_SPEC##_, \
+ nonvirtual_base_ \
+ >
/** This macro declares that the A_BASE_CLASS class is the i-th
* base class of the given class, with the given access specifier
@@ -189,14 +153,20 @@
*/
#define BOOST_MIRROR_REG_VIRTUAL_BASE_CLASS(NUMBER, ACCESS_SPEC, A_BASE_CLASS) \
BOOST_PP_COMMA_IF(NUMBER) \
- meta_inheritance<mpl::int_<NUMBER>, A_BASE_CLASS, ACCESS_SPEC##_, virtual_base_>
+ detail::class_inheritance_info< \
+ derived_class, \
+ derived_class_vt, \
+ mpl::int_<NUMBER>, \
+ A_BASE_CLASS, \
+ ACCESS_SPEC##_, \
+ virtual_base_ \
+ >
/** This macro finishes the declaration of base classes
* of the given class
*/
#define BOOST_MIRROR_REG_BASE_CLASSES_END \
> list; \
- struct size : public mpl::size<list>{ };\
};
/** This macro registers a the A_BASE_CLASS class
Added: sandbox/mirror/boost/mirror/meta_namespaces/boost/mpl.hpp
==============================================================================
--- (empty file)
+++ sandbox/mirror/boost/mirror/meta_namespaces/boost/mpl.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -0,0 +1,24 @@
+/**
+ * \file boost/mirror/meta_namespaces/boost/mpl.hpp
+ * Meta-namespace for the boost::mpl namespace
+ *
+ * Copyright 2008 Matus Chochlik. Distributed under the Boost
+ * Software License, Version 1.0. (See accompanying file
+ * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ */
+
+#ifndef BOOST_MIRROR_META_NAMESPACES_BOOST_MPL_HPP
+#define BOOST_MIRROR_META_NAMESPACES_BOOST_MPL_HPP
+
+#include <boost/mirror/meta_namespace.hpp>
+
+namespace boost {
+namespace mirror {
+
+BOOST_MIRROR_REG_NAMESPACE((boost)(mpl_))
+
+} // namespace mirror
+} // namespace boost
+
+#endif //include guard
+
Modified: sandbox/mirror/boost/mirror/meta_path/prior.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/meta_path/prior.hpp (original)
+++ sandbox/mirror/boost/mirror/meta_path/prior.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -143,21 +143,13 @@
template <
class PathsAndNodes,
class Pair,
- class Position,
- class BaseClass,
- typename AccessSpec,
- typename InheritanceSpec,
+ class InheritanceInfo,
template <class> class PriorOrNext
>
struct neighbour_base_process_single_path_and_node_apply<
PathsAndNodes,
Pair,
- meta_inheritance<
- Position,
- BaseClass,
- AccessSpec,
- InheritanceSpec
- >,
+ meta_inheritance< InheritanceInfo >,
PriorOrNext
> : neighbour_base_process_single_path_and_seq_elem_apply<
PathsAndNodes,
Modified: sandbox/mirror/boost/mirror/meta_path/siblings.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/meta_path/siblings.hpp (original)
+++ sandbox/mirror/boost/mirror/meta_path/siblings.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -130,21 +130,13 @@
template <
class PathsAndNodes,
class Pair,
- class Position,
- class BaseClass,
- typename AccessSpec,
- typename InheritanceSpec,
+ class InheritanceInfo,
class IncludeSelf
>
struct siblings_base_process_single_path_and_node_apply<
PathsAndNodes,
Pair,
- meta_inheritance<
- Position,
- BaseClass,
- AccessSpec,
- InheritanceSpec
- >,
+ meta_inheritance< InheritanceInfo >,
IncludeSelf
> : siblings_base_process_single_path_and_seq_elem_apply<
PathsAndNodes,
Added: sandbox/mirror/boost/mirror/meta_types/boost/mpl/int.hpp
==============================================================================
--- (empty file)
+++ sandbox/mirror/boost/mirror/meta_types/boost/mpl/int.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -0,0 +1,48 @@
+/**
+ * \file boost/mirror/meta_types/boost/int_.hpp
+ *
+ * Meta-type for boost::int_<T>
+ *
+ * Copyright 2008 Matus Chochlik. Distributed under the Boost
+ * Software License, Version 1.0. (See accompanying file
+ * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ */
+
+#ifndef BOOST_MIRROR_META_TYPES_BOOST_OPTIONAL_HPP
+#define BOOST_MIRROR_META_TYPES_BOOST_OPTIONAL_HPP
+
+#include <boost/mirror/meta_type.hpp>
+#include <boost/mirror/meta_namespaces/boost/mpl.hpp>
+#include <boost/mirror/detail/template_name.hpp>
+#include <boost/mpl/int.hpp>
+
+namespace boost {
+namespace mirror {
+
+namespace detail {
+
+struct meta_type_boost_mpl_int_
+{
+ BOOST_MIRROR_REG_TYPE_DECLARE_BASE_NAME("int_")
+};
+
+} // namespace detail
+
+
+template <int I>
+struct meta_type< ::boost::mpl::int_<I> >
+: detail::static_template_name<
+ BOOST_MIRRORED_NAMESPACE(::boost::mpl_),
+ detail::meta_type_boost_mpl_int_ ,
+ mpl::vector1< ::boost::mpl::int_<I> >
+>
+{
+ typedef ::boost::mpl::int_<I> reflected_type;
+};
+
+
+} // namespace mirror
+} // namespace boost
+
+#endif //include guard
+
Modified: sandbox/mirror/boost/mirror/traits/reflects_inheritance.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/traits/reflects_inheritance.hpp (original)
+++ sandbox/mirror/boost/mirror/traits/reflects_inheritance.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -21,19 +21,9 @@
template <class MetaObject>
struct reflects_inheritance : public false_type { };
-template <
- class Position,
- class BaseClass,
- class AccessSpec,
- class VirtualSpec
->
+template < class InheritanceInfo >
struct reflects_inheritance<
- meta_inheritance<
- Position,
- BaseClass,
- AccessSpec,
- VirtualSpec
- >
+ meta_inheritance< InheritanceInfo >
> : public true_type{ };
Modified: sandbox/mirror/boost/mirror/traits/reflects_virtual_inheritance.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/traits/reflects_virtual_inheritance.hpp (original)
+++ sandbox/mirror/boost/mirror/traits/reflects_virtual_inheritance.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -12,7 +12,7 @@
#define BOOST_MIRROR_META_REFLECTS_VIRTUAL_INHERITANCE_HPP
// true type/false type for trait templates
-#include <boost/type_traits/integral_constant.hpp>
+ #include <boost/type_traits/is_same.hpp>
#include <boost/mirror/meta_inheritance.hpp>
namespace boost {
@@ -21,19 +21,29 @@
template <class MetaObject>
struct reflects_virtual_inheritance : public false_type{ };
-template <
- class Position,
- class BaseClass,
- typename AccessSpec
+template <
+ class DerivedClass,
+ class VariantTag,
+ class Position,
+ class BaseClass,
+ class AccessSpecifier,
+ class InheritanceSpecifier
>
struct reflects_virtual_inheritance<
- meta_inheritance<
+ detail::class_inheritance_info<
+ DerivedClass,
+ VariantTag,
Position,
BaseClass,
- AccessSpec,
- virtual_base_
+ AccessSpecifier,
+ InheritanceSpecifier
>
-> : public true_type{ };
+> : public is_same< InheritanceSpecifier, virtual_base_ > { };
+
+template < class InheritanceInfo >
+struct reflects_virtual_inheritance<
+ meta_inheritance< InheritanceInfo >
+> : public reflects_virtual_inheritance<InheritanceInfo>{ };
} // namespace mirror
Modified: sandbox/mirror/boost/mirror/traversal.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/traversal.hpp (original)
+++ sandbox/mirror/boost/mirror/traversal.hpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -25,11 +25,15 @@
deep_traversal_of
>
{
+private:
+ typedef typename remove_reference<
+ typename MetaClass::reflected_type
+ >::type* InstancePtr;
public:
template <class VisitorType>
static void accept(
VisitorType visitor,
- typename MetaClass::reflected_type* ptr_to_inst = 0
+ InstancePtr ptr_to_inst = 0
)
{
do_accept(ref<VisitorType>(visitor), ptr_to_inst);
@@ -38,7 +42,7 @@
template <class VisitorType>
static void accept(
reference_wrapper<VisitorType> visitor,
- typename MetaClass::reflected_type* ptr_to_inst = 0
+ InstancePtr ptr_to_inst = 0
)
{
do_accept(visitor, ptr_to_inst);
@@ -47,7 +51,7 @@
template <class VisitorType>
static void do_accept(
reference_wrapper<VisitorType> visitor,
- typename MetaClass::reflected_type* ptr_to_inst
+ InstancePtr ptr_to_inst
)
{
MetaClass mc;
@@ -90,11 +94,15 @@
flat_traversal_of
>
{
+private:
+ typedef typename remove_reference<
+ typename MetaClass::reflected_type
+ >::type* InstancePtr;
public:
template <class VisitorType>
static void accept(
VisitorType visitor,
- typename MetaClass::reflected_type* ptr_to_inst = 0
+ InstancePtr ptr_to_inst = 0
)
{
do_accept(ref<VisitorType>(visitor), ptr_to_inst);
@@ -102,7 +110,7 @@
template <class VisitorType>
static void accept(
reference_wrapper<VisitorType> visitor,
- typename MetaClass::reflected_type* ptr_to_inst = 0
+ InstancePtr ptr_to_inst = 0
)
{
do_accept(visitor, ptr_to_inst);
@@ -111,7 +119,7 @@
template <class VisitorType>
static void do_accept(
reference_wrapper<VisitorType> visitor,
- typename MetaClass::reflected_type* ptr_to_inst
+ InstancePtr ptr_to_inst
)
{
MetaClass mc;
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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -110,25 +110,12 @@
print_indent();
}
- template <
- class Position,
- class BaseClass,
- typename AccessSpec,
- typename InheritanceSpec
- >
- void operator()(meta_inheritance<
- Position,
- BaseClass,
- AccessSpec,
- InheritanceSpec
- > mi) const
+ template < class InheritanceInfo >
+ void operator()(meta_inheritance< InheritanceInfo > mi) const
{
typedef typename meta_inheritance<
- Position,
- BaseClass,
- AccessSpec,
- InheritanceSpec
- >::meta_base_class mbc;
+ InheritanceInfo
+ >::base_class mbc;
cts::bcout() << "|base_class '" << mbc::base_name() << "'|";
print_indent();
}
Modified: sandbox/mirror/doc/html/BOOST_CTS_LIT.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_CTS_LIT.html (original)
+++ sandbox/mirror/doc/html/BOOST_CTS_LIT.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -34,7 +34,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_CTS_LIT(STRING_LITERAL)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2616966"></a><h2>Description</h2>
+<a name="id2617162"></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_id2437514">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_id2410762">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_id2437514">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_id2410762">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_id2437514">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_id2410762">bstrcmp</a>(<a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo"), <a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo)) == 0);
return 0;
}
</pre>
Modified: sandbox/mirror/doc/html/BOOST_CTS_LIT_LENGTH.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_CTS_LIT_LENGTH.html (original)
+++ sandbox/mirror/doc/html/BOOST_CTS_LIT_LENGTH.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -33,7 +33,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_CTS_LIT_LENGTH(STRING_LITERAL)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2617158"></a><h2>Description</h2>
+<a name="id2617354"></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_id2387537">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_id2454833">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_id2564075">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_id2437514">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_id2505271">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_id2410762">bstrcmp</a>(foo, <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo")) == 0);
return 0;
}
</pre>
Modified: sandbox/mirror/doc/html/BOOST_CTS_STRINGIZE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_CTS_STRINGIZE.html (original)
+++ sandbox/mirror/doc/html/BOOST_CTS_STRINGIZE.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -34,7 +34,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_CTS_STRINGIZE(ARG)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2617354"></a><h2>Description</h2>
+<a name="id2617549"></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_id2437514">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_id2410762">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_id2437514">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_id2410762">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_id2437514">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_id2410762">bstrcmp</a>(<a class="link" href="BOOST_CTS_STRINGIZE.html" title="Macro BOOST_CTS_STRINGIZE">BOOST_CTS_STRINGIZE</a>(foo), <a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>("foo")) == 0);
return 0;
}
</pre>
Modified: sandbox/mirror/doc/html/BOOST_CTS_USE_WIDE_CHARS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_CTS_USE_WIDE_CHARS.html (original)
+++ sandbox/mirror/doc/html/BOOST_CTS_USE_WIDE_CHARS.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -33,7 +33,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_CTS_USE_WIDE_CHARS</pre></div>
<div class="refsect1" lang="en">
-<a name="id2616653"></a><h2>Description</h2>
+<a name="id2616848"></a><h2>Description</h2>
<p>If the <code class="computeroutput"><a class="link" href="BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a></code> symbol is defined
then the type <code class="computeroutput"><a class="link" href="boost/cts/bchar.html" title="Type definition bchar">bchar</a></code> is defined as <code class="computeroutput">wchar_t</code>,
otherwise it's defined as <code class="computeroutput">char</code>:
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_CLASS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_CLASS.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_CLASS.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -34,7 +34,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_CLASS(CLASS)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2609743"></a><h2>Description</h2>
+<a name="id2609745"></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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -35,7 +35,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_GLOBAL_SCOPE()</pre></div>
<div class="refsect1" lang="en">
-<a name="id2604093"></a><h2>Description</h2>
+<a name="id2604094"></a><h2>Description</h2>
<p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_GLOBAL_SCOPE.html" title="Macro BOOST_MIRRORED_GLOBAL_SCOPE">BOOST_MIRRORED_GLOBAL_SCOPE</a>()</code> macro can be used to get
the meta-data about the global scope, which is registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library by default.
</p>
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_NAMESPACE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_NAMESPACE.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_NAMESPACE.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -35,7 +35,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_NAMESPACE(FULL_NAMESPACE_NAME)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2603656"></a><h2>Description</h2>
+<a name="id2603657"></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_id2383792">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_id2384902">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_id2383792">bcout</a>();
+ cts::bostream& bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2384902">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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -38,7 +38,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPE(TYPE)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2608100"></a><h2>Description</h2>
+<a name="id2608101"></a><h2>Description</h2>
<p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a></code> macro reflects a type
previously registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library or a type derived
from a registered type. The argument of this macro is a type.
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -38,7 +38,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPEDEF(FULL_NAMESPACE_NAME, TYPEDEF)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2608454"></a><h2>Description</h2>
+<a name="id2608455"></a><h2>Description</h2>
<p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPEDEF.html" title="Macro BOOST_MIRRORED_TYPEDEF">BOOST_MIRRORED_TYPEDEF</a></code> macro reflects a type
that is registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library as a <code class="computeroutput">typedef</code>-ined
type.
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -39,7 +39,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE(TYPEDEF)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2609076"></a><h2>Description</h2>
+<a name="id2609078"></a><h2>Description</h2>
<p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE.html" title="Macro BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE">BOOST_MIRRORED_TYPEDEF_GLOBAL_SCOPE</a></code> macro reflects a type
that is registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library as a global-scope <code class="computeroutput">typedef</code>-ined
type.
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GS.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEDEF_GS.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -39,7 +39,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPEDEF_GS(TYPEDEF)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2608878"></a><h2>Description</h2>
+<a name="id2608880"></a><h2>Description</h2>
<p>The <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPEDEF_GS.html" title="Macro BOOST_MIRRORED_TYPEDEF_GS">BOOST_MIRRORED_TYPEDEF_GS</a></code> macro reflects a type
that is registered with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library as a global-scope <code class="computeroutput">typedef</code>-ined
type.
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEOF.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEOF.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPEOF.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -32,7 +32,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPEOF(EXPRESSION)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2609161"></a><h2>Description</h2>
+<a name="id2609163"></a><h2>Description</h2>
This macro is basically just a shorter form of
<pre class="programlisting">
<a class="link" href="BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(BOOST_TYPEOF(EXPRESSION))
Modified: sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE_NS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE_NS.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRRORED_TYPE_NS.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -35,7 +35,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRRORED_TYPE_NS(FULL_NAMESPACE_NAME, TYPE)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2608259"></a><h2>Description</h2>
+<a name="id2608260"></a><h2>Description</h2>
<p><code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPE_NS.html" title="Macro BOOST_MIRRORED_TYPE_NS">BOOST_MIRRORED_TYPE_NS</a>(NAMESPACE, TYPE)</code>
is equivalent to <code class="computeroutput"><a class="link" href="BOOST_MIRRORED_TYPE.html" title="Macro BOOST_MIRRORED_TYPE">BOOST_MIRRORED_TYPE</a>(NAMESPACE :: TYPE)</code>.
</p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_NAMESPACE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_NAMESPACE.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_NAMESPACE.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -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_id2383792">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_id2384902">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_id2383792">bcout</a>();
+ cts::bostream& bcout = cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bcout_id2384902">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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -33,7 +33,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE(NAMESPACE, TYPE)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2605940"></a><h2>Description</h2>
+<a name="id2605941"></a><h2>Description</h2>
<p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE.html" title="Macro BOOST_MIRROR_REG_TYPE">BOOST_MIRROR_REG_TYPE</a></code> macro registers a type with
the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library.
</p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -33,7 +33,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPEDEF(NAMESPACE, TYPEDEF)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2606683"></a><h2>Description</h2>
+<a name="id2606684"></a><h2>Description</h2>
<p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPEDEF.html" title="Macro BOOST_MIRROR_REG_TYPEDEF">BOOST_MIRROR_REG_TYPEDEF</a></code> macro registers a <code class="computeroutput">typedef</code>
defined in a namespace with the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library.
</p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -34,7 +34,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE(TYPEDEF)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2607541"></a><h2>Description</h2>
+<a name="id2607542"></a><h2>Description</h2>
<p>See the documentation for the <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPEDEF_GS.html" title="Macro BOOST_MIRROR_REG_TYPEDEF_GS">BOOST_MIRROR_REG_TYPEDEF_GS</a></code>
macro for more details.
</p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GS.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GS.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPEDEF_GS.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -35,7 +35,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPEDEF_GS(TYPEDEF)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2607233"></a><h2>Description</h2>
+<a name="id2607234"></a><h2>Description</h2>
<p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPEDEF_GS.html" title="Macro BOOST_MIRROR_REG_TYPEDEF_GS">BOOST_MIRROR_REG_TYPEDEF_GS</a></code> macro registers a global scope <code class="computeroutput">typedef</code> with
the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library.
</p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMB.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMB.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMB.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -34,7 +34,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE_EMB(WRAPPER, TYPE)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2607598"></a><h2>Description</h2>
+<a name="id2607599"></a><h2>Description</h2>
<p>The <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE_EMB.html" title="Macro BOOST_MIRROR_REG_TYPE_EMB">BOOST_MIRROR_REG_TYPE_EMB</a></code> macro registers a type nested inside of a class with
the <a class="link" href="mirror.html" title="Chapter 1. Mirror">Mirror</a> library.
</p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMBEDDED.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMBEDDED.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_EMBEDDED.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -34,7 +34,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE_EMBEDDED(WRAPPER, TYPE)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2608003"></a><h2>Description</h2>
+<a name="id2608004"></a><h2>Description</h2>
<p>This macro is equivalent to the <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE_EMB.html" title="Macro BOOST_MIRROR_REG_TYPE_EMB">BOOST_MIRROR_REG_TYPE_EMB</a></code> macro.
See the documentation of <code class="computeroutput"><a class="link" href="BOOST_MIRROR_REG_TYPE_EMB.html" title="Macro BOOST_MIRROR_REG_TYPE_EMB">BOOST_MIRROR_REG_TYPE_EMB</a></code> for more details.
</p>
Modified: sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE.html
==============================================================================
--- sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE.html (original)
+++ sandbox/mirror/doc/html/BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -34,7 +34,7 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">BOOST_MIRROR_REG_TYPE_GLOBAL_SCOPE(TYPE)</pre></div>
<div class="refsect1" lang="en">
-<a name="id2606617"></a><h2>Description</h2>
+<a name="id2606618"></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/cts/bchar.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/bchar.html (original)
+++ sandbox/mirror/doc/html/boost/cts/bchar.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -35,7 +35,7 @@
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
<span class="bold"><strong>typedef</strong></span> <span class="bold"><strong>char</strong></span>-or-<span class="bold"><strong>wchar_t</strong></span> bchar;</pre></div>
<div class="refsect1" lang="en">
-<a name="id2616880"></a><h2>Description</h2>
+<a name="id2617075"></a><h2>Description</h2>
<p>The <code class="computeroutput">bchar</code> type is defined as follows:
</p>
<pre class="programlisting">
Modified: sandbox/mirror/doc/html/boost/cts/bchar_traits.html
==============================================================================
--- sandbox/mirror/doc/html/boost/cts/bchar_traits.html (original)
+++ sandbox/mirror/doc/html/boost/cts/bchar_traits.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -34,7 +34,7 @@
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
<span class="bold"><strong>typedef</strong></span> ::std::char_traits<<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>> bchar_traits;</pre></div>
<div class="refsect1" lang="en">
-<a name="id2617683"></a><h2>Description</h2>
+<a name="id2617879"></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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -33,13 +33,13 @@
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
<span class="bold"><strong>typedef</strong></span> ::std::basic_iostream<<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="id2618784"></a><h2>Description</h2>
+<a name="id2618979"></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="id2618824"></a>Examples</h6></div></div></div>
+<a name="id2619019"></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_id2351238">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_id2383792">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_id2409358">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_id2384902">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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -34,13 +34,13 @@
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
<span class="bold"><strong>typedef</strong></span> ::std::basic_istream<<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="id2618368"></a><h2>Description</h2>
+<a name="id2618562"></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="id2618408"></a>Examples</h6></div></div></div>
+<a name="id2618603"></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_id2351238">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_id2383792">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_id2409358">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_id2384902">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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -34,13 +34,13 @@
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
<span class="bold"><strong>typedef</strong></span> ::std::basic_ostream<<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="id2618576"></a><h2>Description</h2>
+<a name="id2618770"></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="id2618616"></a>Examples</h6></div></div></div>
+<a name="id2618811"></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_id2351238">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_id2383792">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_id2409358">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_id2384902">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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -34,7 +34,7 @@
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis">
<span class="bold"><strong>typedef</strong></span> ::std::basic_string<<a class="link" href="bchar.html" title="Type definition bchar">bchar</a>> bstring;</pre></div>
<div class="refsect1" lang="en">
-<a name="id2617816"></a><h2>Description</h2>
+<a name="id2618012"></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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -42,16 +42,16 @@
<span class="bold"><strong>class</strong></span> <a class="link" href="meta_class.html" title="Class template meta_class">meta_class</a> : <span class="bold"><strong>public</strong></span> <a class="link" href="meta_type.html" title="Class template meta_type">meta_type</a><Class>
{
<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="meta_class.html#id2497135-bbtypes">types</a></em></span>
+ <span class="emphasis"><em>// <a class="link" href="meta_class.html#id2503679-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="id2609534"></a><h2>Description</h2>
+<a name="id2609536"></a><h2>Description</h2>
<div class="refsect2" lang="en">
-<a name="id2609538"></a><h3>
-<a name="id2497135-bbtypes"></a><code class="computeroutput">meta_class</code> public types</h3>
+<a name="id2609539"></a><h3>
+<a name="id2503679-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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -43,9 +43,12 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><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#id2514631-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="id2611834"></a><h2>Description</h2>
+<a name="id2611977"></a><h2>Description</h2>
<p>
</p>
<div class="section" lang="en">
@@ -57,6 +60,17 @@
</p>
</div>
</div>
+<div class="refsect2" lang="en">
+<a name="id2612007"></a><h3>
+<a name="id2514631-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>
+<p>Meta-class describing the scope where the reflected attributes are defined.
+ The scope is the class that the reflected attributes belong to.
+ </p>
+</li></ol></div>
+</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -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#id2466479-bbtypes">types</a></em></span>
+ <span class="emphasis"><em>// <a class="link" href="meta_class_attribute.html#id2485279-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#id2524813-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#id2530994-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#id2519779-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#id2534526-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#id2477452-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#id2446678-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#id2566005-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#id2498280-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#id2553201-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#id2565999-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#id2477330-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#id2448231-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="id2610386"></a><h2>Description</h2>
+<a name="id2610388"></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="id2610422"></a><h3>
-<a name="id2466479-bbtypes"></a><code class="computeroutput">meta_class_attribute</code> public types</h3>
+<a name="id2610425"></a><h3>
+<a name="id2485279-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="id2524813-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="id2519779-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#id2530994-bb">full_name</a></code> member function
+ is needed use the <code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2534526-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="id2530994-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="id2534526-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#id2524813-bb">base_name</a></code> member function
+ is needed use the <code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2519779-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="id2477452-bb"></a>get_name(::boost::mpl::bool_<FullName> full, ::std::char_traits<CharT> cht);</pre>
+ <a name="id2566005-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="id2446678-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="id2498280-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#id2446678-bb">get</a></code>(p) == p.first);
-assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2446678-bb">get</a></code>(p) == p.second);
+assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2498280-bb">get</a></code>(p) == p.first);
+assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2498280-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="id2553201-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="id2477330-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#id2553201-bb">query</a></code>(p, first) == 10);
-assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2553201-bb">query</a></code>(p, second) == 20.0f);
+assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2477330-bb">query</a></code>(p, first) == 10);
+assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2477330-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="id2565999-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="id2448231-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#id2446678-bb">get</a></code>(p) != meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2446678-bb">get</a></code>(r));
-assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2446678-bb">get</a></code>(p) != meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2446678-bb">get</a></code>(r));
+assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2498280-bb">get</a></code>(p) != meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2498280-bb">get</a></code>(r));
+assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2498280-bb">get</a></code>(p) != meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2498280-bb">get</a></code>(r));
// set new values
-meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565999-bb">set</a></code>(p, meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2446678-bb">get</a></code>(r));
-meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2565999-bb">set</a></code>(p, meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2446678-bb">get</a></code>(r));
+meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2448231-bb">set</a></code>(p, meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2498280-bb">get</a></code>(r));
+meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2448231-bb">set</a></code>(p, meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2498280-bb">get</a></code>(r));
// and check the values
-assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2446678-bb">get</a></code>(p) == meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2446678-bb">get</a></code>(r));
-assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2446678-bb">get</a></code>(p) == meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2446678-bb">get</a></code>(r));
+assert(meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2498280-bb">get</a></code>(p) == meta_pair_first::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2498280-bb">get</a></code>(r));
+assert(meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2498280-bb">get</a></code>(p) == meta_pair_second::<code class="computeroutput"><a class="link" href="meta_class_attribute.html#id2498280-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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -43,9 +43,12 @@
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><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#id2421273-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="id2611665"></a><h2>Description</h2>
+<a name="id2611712"></a><h2>Description</h2>
<p>
</p>
<div class="section" lang="en">
@@ -57,6 +60,17 @@
</p>
</div>
</div>
+<div class="refsect2" lang="en">
+<a name="id2611744"></a><h3>
+<a name="id2421273-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>
+<p>Meta-class describing the scope where the reflected attributes are defined.
+ The scope is the class that the reflected attributes belong to.
+ </p>
+</li></ol></div>
+</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
Modified: sandbox/mirror/doc/html/boost/mirror/meta_inheritance.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_inheritance.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_inheritance.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -36,19 +36,19 @@
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span><<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#id2421278-bbtypes">types</a></em></span>
+ <span class="emphasis"><em>// <a class="link" href="meta_inheritance.html#id2494938-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="id2612071"></a><h2>Description</h2>
+<a name="id2612267"></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="id2612082"></a><h3>
-<a name="id2421278-bbtypes"></a><code class="computeroutput">meta_inheritance</code> public types</h3>
+<a name="id2612278"></a><h3>
+<a name="id2494938-bbtypes"></a><code class="computeroutput">meta_inheritance</code> public types</h3>
<div class="orderedlist"><ol type="1">
<li>
<p>
Modified: sandbox/mirror/doc/html/boost/mirror/meta_namespace.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_namespace.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_namespace.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -45,17 +45,17 @@
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span><<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#id2394528-bbtypes">types</a></em></span>
+ <span class="emphasis"><em>// <a class="link" href="meta_namespace.html#id2566463-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#id2387955-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#id2478346-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#id2517781-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#id2543157-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#id2493053-bb">get_name</a>(::boost::mpl::bool_<FullName>, ::std::char_traits<CharT>);
+ <a class="link" href="meta_namespace.html#id2475504-bb">get_name</a>(::boost::mpl::bool_<FullName>, ::std::char_traits<CharT>);
};</pre></div>
<div class="refsect1" lang="en">
-<a name="id2601821"></a><h2>Description</h2>
+<a name="id2601822"></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_id2383792">bcout</a>();
+ cts::bostream& bcout = cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2384902">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_id2383792">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_id2384902">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_id2383792">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_id2384902">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#id2387955-bb">base_name</a></code> and the
- <code class="computeroutput"><a class="link" href="meta_namespace.html#id2478346-bb">full_name</a></code> methods
- are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_namespace.html#id2493053-bb">get_name</a></code>
+<p>The <code class="computeroutput"><a class="link" href="meta_namespace.html#id2517781-bb">base_name</a></code> and the
+ <code class="computeroutput"><a class="link" href="meta_namespace.html#id2543157-bb">full_name</a></code> methods
+ are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_namespace.html#id2475504-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.
@@ -214,7 +214,7 @@
</div>
<div class="refsect2" lang="en">
<a name="id2602315"></a><h3>
-<a name="id2394528-bbtypes"></a><code class="computeroutput">meta_namespace</code> public types</h3>
+<a name="id2566463-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="id2387955-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="id2517781-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#id2478346-bb">full_name</a></code> member function
+ is needed use the <code class="computeroutput"><a class="link" href="meta_namespace.html#id2543157-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="id2478346-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="id2543157-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#id2387955-bb">base_name</a></code> member function
+ is needed use the <code class="computeroutput"><a class="link" href="meta_namespace.html#id2517781-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="id2493053-bb"></a>get_name(::boost::mpl::bool_<FullName> full, ::std::char_traits<CharT> cht);</pre>
+ <a name="id2475504-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#id2387955-bb">base_name</a></code> member function with the
+ <code class="computeroutput"><a class="link" href="meta_namespace.html#id2517781-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#id2478346-bb">full_name</a></code> method with the
+ <code class="computeroutput"><a class="link" href="meta_namespace.html#id2543157-bb">full_name</a></code> method with the
<code class="computeroutput"><a class="link" href="../../BOOST_CTS_USE_WIDE_CHARS.html" title="Macro BOOST_CTS_USE_WIDE_CHARS">BOOST_CTS_USE_WIDE_CHARS</a></code> symbol defined,
which returns a <code class="computeroutput">::std::wstring</code> holding this string <code class="computeroutput">L"::boost::mirror"</code>.
</p>
Modified: sandbox/mirror/doc/html/boost/mirror/meta_type.html
==============================================================================
--- sandbox/mirror/doc/html/boost/mirror/meta_type.html (original)
+++ sandbox/mirror/doc/html/boost/mirror/meta_type.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -44,17 +44,17 @@
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span><<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#id2506177-bbtypes">types</a></em></span>
+ <span class="emphasis"><em>// <a class="link" href="meta_type.html#id2501306-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#id2495324-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#id2392610-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#id2500840-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#id2503852-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#id2530116-bb">get_name</a>(::boost::mpl::bool_<FullName>, ::std::char_traits<CharT>);
+ <a class="link" href="meta_type.html#id2488215-bb">get_name</a>(::boost::mpl::bool_<FullName>, ::std::char_traits<CharT>);
};</pre></div>
<div class="refsect1" lang="en">
-<a name="id2604660"></a><h2>Description</h2>
+<a name="id2604661"></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_id2383792">bcout</a>() <<
+ cts::<a class="link" href="../../char_type_switch/reference.html#boost.cts.bcout_id2384902">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_id2383792">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_id2384902">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_id2383792">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_id2384902">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#id2495324-bb">base_name</a></code> and the
- <code class="computeroutput"><a class="link" href="meta_type.html#id2392610-bb">full_name</a></code> member functions
- are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_type.html#id2530116-bb">get_name</a></code>
+<p>The <code class="computeroutput"><a class="link" href="meta_type.html#id2500840-bb">base_name</a></code> and the
+ <code class="computeroutput"><a class="link" href="meta_type.html#id2503852-bb">full_name</a></code> member functions
+ are convenient but not very generic. The <code class="computeroutput"><a class="link" href="meta_type.html#id2488215-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="id2605298"></a><h3>
-<a name="id2506177-bbtypes"></a><code class="computeroutput">meta_type</code> public types</h3>
+<a name="id2605299"></a><h3>
+<a name="id2501306-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="id2495324-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="id2500840-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#id2392610-bb">full_name</a></code> member function
+ is needed use the <code class="computeroutput"><a class="link" href="meta_type.html#id2503852-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="id2392610-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="id2503852-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#id2495324-bb">base_name</a></code> member function
+ is needed use the <code class="computeroutput"><a class="link" href="meta_type.html#id2500840-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="id2530116-bb"></a>get_name(::boost::mpl::bool_<FullName> full, ::std::char_traits<CharT> cht);</pre>
+ <a name="id2488215-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#id2495324-bb">base_name</a></code> member function with the
+ <code class="computeroutput"><a class="link" href="meta_type.html#id2500840-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#id2392610-bb">full_name</a></code> method with the
+ <code class="computeroutput"><a class="link" href="meta_type.html#id2503852-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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -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="id2613519"></a><h2>Description</h2>
+<a name="id2613714"></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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -38,7 +38,7 @@
<span class="bold"><strong>class</strong></span> <a class="link" href="reflects_global_scope.html" title="Class template reflects_global_scope">reflects_global_scope</a> : <span class="bold"><strong>public</strong></span> <span class="type">false_type-or-true_type</span> {
};</pre></div>
<div class="refsect1" lang="en">
-<a name="id2612806"></a><h2>Description</h2>
+<a name="id2613002"></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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -37,7 +37,7 @@
<span class="bold"><strong>class</strong></span> <a class="link" href="reflects_namespace.html" title="Class template reflects_namespace">reflects_namespace</a> : <span class="bold"><strong>public</strong></span> <span class="type">false_type-or-true_type</span> {
};</pre></div>
<div class="refsect1" lang="en">
-<a name="id2612377"></a><h2>Description</h2>
+<a name="id2612572"></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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -37,7 +37,7 @@
<span class="bold"><strong>class</strong></span> <a class="link" href="reflects_type.html" title="Class template reflects_type">reflects_type</a> : <span class="bold"><strong>public</strong></span> <span class="type">false_type-or-true_type</span> {
};</pre></div>
<div class="refsect1" lang="en">
-<a name="id2613267"></a><h2>Description</h2>
+<a name="id2613462"></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 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -34,7 +34,7 @@
</div></div>
<div><p class="copyright">Copyright © 2008 Matúš Chochlík</p></div>
<div><div class="legalnotice">
-<a name="id2616213"></a><p>Use, modification and distribution is subject to the Boost
+<a name="id2616410"></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_id2387537">bstrlen</a></code>,
- <code class="computeroutput">::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcpy_id2564075">bstrcpy</a></code>, etc.
+ <code class="computeroutput">::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrlen_id2454833">bstrlen</a></code>,
+ <code class="computeroutput">::boost::cts::<a class="link" href="char_type_switch/reference.html#boost.cts.bstrcpy_id2505271">bstrcpy</a></code>, etc.
and macros like
<code class="computeroutput"><a class="link" href="BOOST_CTS_LIT.html" title="Macro BOOST_CTS_LIT">BOOST_CTS_LIT</a>(STRING_LITERAL)</code> OR
<code class="computeroutput"><a class="link" href="BOOST_CTS_LIT_LENGTH.html" title="Macro BOOST_CTS_LIT_LENGTH">BOOST_CTS_LIT_LENGTH</a>(STRING_LITERAL)</code>
Modified: sandbox/mirror/doc/html/char_type_switch/reference.html
==============================================================================
--- sandbox/mirror/doc/html/char_type_switch/reference.html (original)
+++ sandbox/mirror/doc/html/char_type_switch/reference.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -25,12 +25,12 @@
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="char_type_switch.reference"></a>Char Type Switch Reference</h2></div></div></div>
-<div class="toc"><dl><dt><span class="section">Header files</span></dt></dl></div>
+<div class="toc"><dl><dt><span class="section">Header files</span></dt></dl></div>
<p>
</p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="id2616584"></a>Header files</h3></div></div></div>
+<a name="id2616780"></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#id2351242-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_id2351238">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_id2383792">bcout</a>();
+ <span class="emphasis"><em>// <a class="link" href="reference.html#id2409362-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_id2409358">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_id2384902">bcout</a>();
}
}</pre>
<div class="refsect2" lang="en">
-<a name="id2618089"></a><h3>
-<a name="id2351242-bb"></a><code class="computeroutput"></code> free-functions</h3>
+<a name="id2618284"></a><h3>
+<a name="id2409362-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_id2351238"></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_id2409358"></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_id2351238">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_id2409358">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_id2383792"></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_id2384902"></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_id2383792">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_id2384902">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#id2405973-bb">free-functions</a></em></span>
- <span class="type">size_t</span> <a class="link" href="reference.html#boost.cts.bstrlen_id2387537">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_id2437514">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_id2564075">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_id2369663">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#id2410784-bb">free-functions</a></em></span>
+ <span class="type">size_t</span> <a class="link" href="reference.html#boost.cts.bstrlen_id2454833">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_id2410762">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_id2505271">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_id2519678">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="id2619084"></a><h3>
-<a name="id2405973-bb"></a><code class="computeroutput"></code> free-functions</h3>
+<a name="id2619280"></a><h3>
+<a name="id2410784-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_id2387537"></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_id2454833"></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_id2387537">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_id2387537">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_id2454833">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_id2454833">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_id2387537">bstrlen</a></code>(bar) == 3);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrlen_id2454833">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_id2437514"></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_id2410762"></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_id2437514">bstrcmp</a></code>(foo, bar) > 0);
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2437514">bstrcmp</a></code>(foo, foo) == 0);
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2437514">bstrcmp</a></code>(bar, foo) < 0);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2410762">bstrcmp</a></code>(foo, bar) > 0);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2410762">bstrcmp</a></code>(foo, foo) == 0);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2410762">bstrcmp</a></code>(bar, foo) < 0);
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2437514">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_id2437514">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_id2410762">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_id2410762">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_id2564075"></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_id2505271"></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_id2564075">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_id2564075">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_id2437514">bstrcmp</a></code>(aaa, bbb) != 0);
+ <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2505271">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_id2505271">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_id2410762">bstrcmp</a></code>(aaa, bbb) != 0);
- <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2564075">bstrcpy</a></code>(bbb, aaa);
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2437514">bstrcmp</a></code>(aaa, bbb) == 0);
+ <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcpy_id2505271">bstrcpy</a></code>(bbb, aaa);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2410762">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_id2369663"></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_id2519678"></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_id2369663">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_id2369663">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_id2437514">bstrcmp</a></code>(aaa, bbb) != 0);
+ <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2519678">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_id2519678">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_id2410762">bstrcmp</a></code>(aaa, bbb) != 0);
- <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2369663">bstrncpy</a></code>(bbb, aaa, size);
- assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2437514">bstrcmp</a></code>(aaa, bbb) == 0);
+ <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2519678">bstrncpy</a></code>(bbb, aaa, size);
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2410762">bstrcmp</a></code>(aaa, bbb) == 0);
- <code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrncpy_id2369663">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_id2519678">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_id2437514">bstrcmp</a></code>(aaa, bbb) == 0); return 0;
+ assert(<code class="computeroutput"><a class="link" href="reference.html#boost.cts.bstrcmp_id2410762">bstrcmp</a></code>(aaa, bbb) == 0); return 0;
}
</pre>
</div>
Modified: sandbox/mirror/doc/html/mirror/examples.html
==============================================================================
--- sandbox/mirror/doc/html/mirror/examples.html (original)
+++ sandbox/mirror/doc/html/mirror/examples.html 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -43,7 +43,7 @@
<p>
</p>
<div class="table">
-<a name="id2614095"></a><p class="title"><b>Table 1.5. Registering examples</b></p>
+<a name="id2614290"></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="id2614178"></a><p class="title"><b>Table 1.6. Reflection examples</b></p>
+<a name="id2614373"></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="id2614342"></a><p class="title"><b>Table 1.7. Reflection examples</b></p>
+<a name="id2614537"></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_id2383792">bcout</a></code>();
+ cts::bostream& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2384902">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_id2383792">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_id2384902">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_id2383792">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_id2384902">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_id2383792">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_id2384902">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_id2383792">bcout</a></code>();
+ cts::bostream& bcout = cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2384902">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_id2383792">bcout</a></code>() <<
+ cts::<code class="computeroutput"><a class="link" href="../char_type_switch/reference.html#boost.cts.bcout_id2384902">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_id2383792">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_id2384902">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/non_boost_book/concepts/ontology.xml
==============================================================================
--- sandbox/mirror/doc/html/mirror/non_boost_book/concepts/ontology.xml (original)
+++ sandbox/mirror/doc/html/mirror/non_boost_book/concepts/ontology.xml 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -8,6 +8,17 @@
<model url="http://www.sgi.com/tech/stl/basic_string.html" name="::std::basic_string"/>
</concept>
+ <concept name="AccessSpecifier">
+ <model name="private_"/>
+ <model name="protected_"/>
+ <model name="public_"/>
+ </concept>
+
+ <concept name="InheritanceSpecifier">
+ <model name="virtual_base_"/>
+ <model name="nonvirtual_base_"/>
+ </concept>
+
<concept name="Traversal">
<member_function concept="void" name="accept">
<fn_param concept="TraversalVisitor" name="_visitor"/>
@@ -346,9 +357,6 @@
>
</role>
- <concept name="MetaNamedScopedObject">
- </concept>
-
<!-- MetaNamedScopedObject is MetaNamedObject -->
<role
subject="MetaNamedObject"
@@ -437,10 +445,10 @@
<member_typedef concept="MetaBaseClasses" name="base_classes">
<desc>The sequence of MetaBaseClasses reflecting the inheritance of the base classes.</desc>
</member_typedef>
- <member_typedef concept="MetaClassAttributes" name="meta_attributes">
+ <member_typedef concept="MetaClassAttributes" name="attributes">
<desc>The sequence of MetaClassAttribute(s) reflecting the "own" attributes of a class. These are the attributes that are defined directly in the class reflected by this MetaClass, not including the attributes inherited from the base classes.</desc>
</member_typedef>
- <member_typedef concept="MetaClassAttributes" name="meta_all_attributes">
+ <member_typedef concept="MetaClassAttributes" name="all_attributes">
<desc>The sequence of MetaClassAttribute(s) reflecting all attributes of a class including the ones inherited from base classes.</desc>
</member_typedef>
<member_typedef concept="Class" name="reflected_type">
@@ -540,11 +548,20 @@
<member_typedef concept="MetaBaseClasses" name="container">
<desc>The list of MetaBaseClasses that this MetaInheritance belongs to.</desc>
</member_typedef>
+ <member_typedef concept="InheritanceSpecifier" name="inheritance">
+ <desc>The inheritance specifier.</desc>
+ </member_typedef>
+ <member_typedef concept="AccessSpecifier" name="access">
+ <desc>The access specifier.</desc>
+ </member_typedef>
+ <member_typedef concept="MetaClass" name="base_class">
+ <desc>MetaClass reflecting the type of the base class.</desc>
+ </member_typedef>
</concept>
- <!-- MetaInheritance is MetaObject -->
+ <!-- MetaInheritance is MetaScopedObject -->
<role
- subject="MetaObject"
+ subject="MetaScopedObject"
type="Specialization"
object="MetaInheritance"
>
@@ -563,16 +580,9 @@
<member_typedef concept="MetaClassAttributes" name="container">
<desc>The sequence of MetaClassAttribute(s) that this MetaClassAttribute belongs to.</desc>
</member_typedef>
- <member_typedef concept="MetaClassAttributes" name="meta_attributes">
- <desc>Equivalent to container.</desc>
- </member_typedef>
- <member_typedef concept="Type" name="type">
- <desc>The type of the reflected attribute.</desc>
+ <member_typedef concept="MetaType" name="type">
+ <desc>The MetaType reflecting the type of the attribute.</desc>
</member_typedef>
- <member_typedef concept="TypedefOrTypeSelector" name="typedef_or_type">
- <desc>A type that can be reflected to obtain the proper MetaType for the attribute's type. This selector allows to distinguish typedefined types.</desc>
- </member_typedef>
-
<member_function concept="Type" name="get">
<desc>Generic attribute value getter. Returns the value of the reflected class attribute when given an instance of the class that the attribute belongs to.</desc>
<fn_param concept="Class" name="instance"/>
@@ -633,9 +643,6 @@
>
</role>
- <concept name="MetaFunctionParameter">
- </concept>
-
<concept name="MetaMemberFunction">
</concept>
@@ -785,9 +792,6 @@
<concept name="MetaBaseClasses">
<model name="meta_base_classes"/>
- <member_typedef concept="Class" name="derived_class">
- <desc>The class which base classes this MetaBaseClasses sequence reflects.</desc>
- </member_typedef>
<metafunction concept="MplSequence" name="get_type_list">
<metafn_param placeholder="true">
</metafn_param>
@@ -804,6 +808,14 @@
>
</role>
+ <!-- MetaBaseClasses is MetaScopedObject -->
+ <role
+ subject="MetaScopedObject"
+ type="Specialization"
+ object="MetaBaseClasses"
+ >
+ </role>
+
<concept name="MetaClassAttributes">
<model name="meta_class_attributes"/>
<model name="meta_class_all_attributes"/>
@@ -822,5 +834,13 @@
>
</role>
+ <!-- MetaClassAttributes is MetaScopedObject -->
+ <role
+ subject="MetaScopedObject"
+ type="Specialization"
+ object="MetaClassAttributes"
+ >
+ </role>
+
</concept_ontology>
Added: sandbox/mirror/doc/html/mirror/non_boost_book/concepts/overview/AccessSpecifier.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/doc/html/mirror/non_boost_book/concepts/overview/AccessSpecifier.xml 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<?xml-stylesheet type="text/xsl" href="transform.xsl" ?>
+<concept name="AccessSpecifier"/>
Added: sandbox/mirror/doc/html/mirror/non_boost_book/concepts/overview/InheritanceSpecifier.xml
==============================================================================
--- (empty file)
+++ sandbox/mirror/doc/html/mirror/non_boost_book/concepts/overview/InheritanceSpecifier.xml 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<?xml-stylesheet type="text/xsl" href="transform.xsl" ?>
+<concept name="InheritanceSpecifier"/>
Modified: sandbox/mirror/doc/html/mirror/non_boost_book/concepts/overview/transform.xsl
==============================================================================
--- sandbox/mirror/doc/html/mirror/non_boost_book/concepts/overview/transform.xsl (original)
+++ sandbox/mirror/doc/html/mirror/non_boost_book/concepts/overview/transform.xsl 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -255,6 +255,38 @@
</xsl:if>
</xsl:template>
+
+ <xsl:template name="has-any-member-items-helper">
+ <xsl:param name="concept"/>
+ <xsl:call-template name="has-member-items">
+ <xsl:with-param name="concept" select="$concept"/>
+ <xsl:with-param name="member_kind" select="'member_typedef'"/>
+ </xsl:call-template>
+ <xsl:call-template name="has-member-items">
+ <xsl:with-param name="concept" select="$concept"/>
+ <xsl:with-param name="member_kind" select="'member_function'"/>
+ </xsl:call-template>
+ <xsl:call-template name="has-member-items">
+ <xsl:with-param name="concept" select="$concept"/>
+ <xsl:with-param name="member_kind" select="'free_function'"/>
+ </xsl:call-template>
+ <xsl:call-template name="has-member-items">
+ <xsl:with-param name="concept" select="$concept"/>
+ <xsl:with-param name="member_kind" select="'metafunction'"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template name="has-any-member-items">
+ <xsl:param name="concept"/>
+ <xsl:variable name="subresults">
+ <xsl:call-template name="has-any-member-items-helper">
+ <xsl:with-param name="concept" select="$concept"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:value-of select="contains($subresults, 'true')"/>
+ </xsl:template>
+
+
<!-- makes the typedef table -->
<xsl:template name="make-typedef-table">
<xsl:param name="concept"/>
@@ -336,8 +368,15 @@
</xsl:call-template>
</div>
- <p>For each type <code><strong>T</strong></code> which is a model of the <xsl:value-of select="$concept"/> concept and for each variable <code><strong>x</strong></code> which is of <code><strong>T</strong></code> type, the following expressions are valid.</p>
-
+ <xsl:variable name="has_expressions">
+ <xsl:call-template name="has-any-member-items">
+ <xsl:with-param name="concept" select="$concept"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test="$has_expressions='true'">
+ <p>For each type <code><strong>T</strong></code> which is a model of the <xsl:value-of select="$concept"/> concept and for each variable <code><strong>x</strong></code> which is of <code><strong>T</strong></code> type, the following expressions are valid.</p>
+ </xsl:if>
+
<xsl:call-template name="make-typedef-table">
<xsl:with-param name="concept" select="$concept"/>
</xsl:call-template>
Modified: sandbox/mirror/libs/mirror/doc/reference/class_meta_class_all_attributes.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference/class_meta_class_all_attributes.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference/class_meta_class_all_attributes.xml 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -38,5 +38,15 @@
</section>
</section>
</description>
+ <access name="public">
+ <typedef name="scope">
+ <type><classname>meta_class</classname><<emphasis>unspecified</emphasis>></type>
+ <description>
+ <para>Meta-class describing the scope where the reflected attributes are defined.
+ The scope is the class that the reflected attributes belong to.
+ </para>
+ </description>
+ </typedef>
+ </access>
</class>
Modified: sandbox/mirror/libs/mirror/doc/reference/class_meta_class_attributes.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/reference/class_meta_class_attributes.xml (original)
+++ sandbox/mirror/libs/mirror/doc/reference/class_meta_class_attributes.xml 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -38,5 +38,16 @@
</section>
</section>
</description>
+ <access name="public">
+ <typedef name="scope">
+ <type><classname>meta_class</classname><<emphasis>unspecified</emphasis>></type>
+ <description>
+ <para>Meta-class describing the scope where the reflected attributes are defined.
+ The scope is the class that the reflected attributes belong to.
+ </para>
+ </description>
+ </typedef>
+ </access>
+
</class>
Modified: sandbox/mirror/libs/mirror/example/registering/classes.cpp
==============================================================================
--- sandbox/mirror/libs/mirror/example/registering/classes.cpp (original)
+++ sandbox/mirror/libs/mirror/example/registering/classes.cpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -367,7 +367,7 @@
// it's base_class typedef is the type
// of the base class
using namespace ::std;
- typedef typename MetaInheritance::meta_base_class meta_class;
+ typedef typename MetaInheritance::base_class meta_class;
s << endl << " - " << meta_class::full_name();
}
};
@@ -416,9 +416,7 @@
{
using namespace ::std;
s << endl << " - " <<
- BOOST_MIRRORED_TYPE(
- typename MetaAttribute::typedef_or_type
- )::full_name() <<
+ MetaAttribute::type::full_name() <<
" " <<
ma.base_name();
}
Modified: sandbox/mirror/libs/mirror/example/registering/virtual_bases.cpp
==============================================================================
--- sandbox/mirror/libs/mirror/example/registering/virtual_bases.cpp (original)
+++ sandbox/mirror/libs/mirror/example/registering/virtual_bases.cpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -214,10 +214,8 @@
//
bcout << "The reflected class has " << endl;
//
- bcout << meta_T::base_classes::size::value << " base class(es)" << endl;
- bcout << meta_T::attributes::size::value << " own member attrib(s)" << endl;
- bcout << meta_T::all_attributes::inherited_size::value << " inherited member attrib(s)" << endl;
- bcout << meta_T::all_attributes::size::value << " member attrib(s)" << endl;
+ bcout << size<meta_T::attributes>::value << " own member attrib(s)" << endl;
+ bcout << size<meta_T::all_attributes>::value << " member attrib(s)" << endl;
// execute a functor on all attributes
for_each<meta_T::all_attributes>(attrib_printer());
//
@@ -230,6 +228,81 @@
// F::b (bool)
// G::c (char)
// H::w (wchar_t)
+ BOOST_MPL_ASSERT((
+ reflects_virtual_inheritance< at<BOOST_MIRRORED_CLASS(B)::base_classes, mpl::int_<0> >::type >
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_virtual_inheritance< at<BOOST_MIRRORED_CLASS(C)::base_classes, mpl::int_<0> >::type >
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_virtual_inheritance< at<BOOST_MIRRORED_CLASS(D)::base_classes, mpl::int_<0> >::type >
+ ));
+ BOOST_MPL_ASSERT_NOT((
+ reflects_virtual_inheritance< at<BOOST_MIRRORED_CLASS(E)::base_classes, mpl::int_<0> >::type >
+ ));
+ BOOST_MPL_ASSERT_NOT((
+ reflects_virtual_inheritance< at<BOOST_MIRRORED_CLASS(E)::base_classes, mpl::int_<1> >::type >
+ ));
+ BOOST_MPL_ASSERT_NOT((
+ reflects_virtual_inheritance< at<BOOST_MIRRORED_CLASS(E)::base_classes, mpl::int_<2> >::type >
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_virtual_inheritance< at<BOOST_MIRRORED_CLASS(G)::base_classes, mpl::int_<0> >::type >
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_virtual_inheritance< mpl::at<BOOST_MIRRORED_CLASS(G)::base_classes::list, mpl::int_<0> >::type >
+ ));
+ BOOST_MPL_ASSERT_NOT((
+ reflects_virtual_inheritance< mpl::at<BOOST_MIRRORED_CLASS(E)::base_classes::list, mpl::int_<0> >::type >
+ ));
+ BOOST_MPL_ASSERT_NOT((
+ reflects_virtual_inheritance< mpl::at<BOOST_MIRRORED_CLASS(E)::base_classes::list, mpl::int_<1> >::type >
+ ));
+ BOOST_MPL_ASSERT_NOT((
+ reflects_virtual_inheritance< mpl::at<BOOST_MIRRORED_CLASS(E)::base_classes::list, mpl::int_<2> >::type >
+ ));
+ //
+ //BOOST_MIRRORED_CLASS(B)::all_attributes::detail::list_of_base_class_infos huuh = "1223";
+ //BOOST_MIRRORED_CLASS(B)::all_attributes::detail::list_of_regular_base_classes huuh = "1223";
+ //BOOST_MIRRORED_CLASS(B)::all_attributes::detail::list_of_virtual_base_classes huuh = "1223";
+ //BOOST_MIRRORED_CLASS(B)::all_attributes::detail::regular_base_class_layout huuh = "1223";
+ //BOOST_MIRRORED_CLASS(B)::all_attributes::detail::virtual_base_class_layout_w_dups huuh = "1223";
+ //BOOST_MIRRORED_CLASS(B)::all_attributes::detail::virtual_base_class_layout huuh = "1223";
+ //BOOST_MIRRORED_CLASS(E)::all_attributes::detail::base_class_layout huuh = "1223";
+ //
+ BOOST_MPL_ASSERT((
+ reflects_virtual_inheritance<
+ at<
+ at<
+ BOOST_MIRRORED_CLASS(E)::base_classes,
+ mpl::int_<0>
+ >::type::base_class::base_classes,
+ mpl::int_<0>
+ >::type
+ >
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_virtual_inheritance<
+ at<
+ at<
+ BOOST_MIRRORED_CLASS(E)::base_classes,
+ mpl::int_<1>
+ >::type::base_class::base_classes,
+ mpl::int_<0>
+ >::type
+ >
+ ));
+ BOOST_MPL_ASSERT((
+ reflects_virtual_inheritance<
+ at<
+ at<
+ BOOST_MIRRORED_CLASS(E)::base_classes,
+ mpl::int_<2>
+ >::type::base_class::base_classes,
+ mpl::int_<0>
+ >::type
+ >
+ ));
//
BOOST_STATIC_ASSERT((is_same<
mpl::at<meta_T::all_attributes::type_list, mpl::int_<0> >::type,
Modified: sandbox/mirror/libs/mirror/example/special/boost_tuple.cpp
==============================================================================
--- sandbox/mirror/libs/mirror/example/special/boost_tuple.cpp (original)
+++ sandbox/mirror/libs/mirror/example/special/boost_tuple.cpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -106,7 +106,7 @@
bcout << "---------------------------------------------------" << endl;
bcout << "The full type name is: "<< meta_T1::full_name() << endl;
bcout << "---------------------------------------------------" << endl;
- bcout << "The class has "<< meta_T1::all_attributes::size::value << " members" << endl;
+ bcout << "The class has "<< size<meta_T1::all_attributes>::value << " members" << endl;
bcout << "---------------------------------------------------" << endl;
bcout << meta_T1::all_attributes::get_name(mpl::int_<0>(), mpl::false_(), cts::bchar_traits()) << " = ";
bcout << meta_T1::all_attributes::get(t1, mpl::int_<0>()) << endl;
@@ -128,7 +128,7 @@
attrib_value_printer<meta_X::reflected_type> p(x);
//
bcout << "The type name is: "<< meta_X::base_name() << endl;
- bcout << "The class has "<< meta_X::all_attributes::size::value << " members" << endl;
+ bcout << "The class has "<< size<meta_X::all_attributes>::value << " members" << endl;
bcout << "---------------------------------------------------" << endl;
for_each<meta_X::all_attributes>(p);
bcout << "---------------------------------------------------" << endl;
Modified: sandbox/mirror/libs/mirror/example/special/std_pair.cpp
==============================================================================
--- sandbox/mirror/libs/mirror/example/special/std_pair.cpp (original)
+++ sandbox/mirror/libs/mirror/example/special/std_pair.cpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -17,6 +17,8 @@
#include <boost/mirror/meta_type.hpp>
#include <boost/mirror/meta_class.hpp>
+#include <boost/mirror/intrinsic/size.hpp>
+
#include <boost/mirror/meta_types/std/pair.hpp>
#include <boost/mirror/meta_classes/std/pair.hpp>
@@ -42,7 +44,7 @@
bcout << "---------------------------------------------------" << endl;
bcout << "The full type name is: "<< meta_T::full_name() << endl;
bcout << "---------------------------------------------------" << endl;
- bcout << "The class has "<< meta_T::all_attributes::size::value << " members" << endl;
+ bcout << "The class has "<< size<meta_T::all_attributes>::value << " members" << endl;
bcout << "---------------------------------------------------" << endl;
//
return 0;
Modified: sandbox/mirror/libs/mirror/test/classes_ct_03.cpp
==============================================================================
--- sandbox/mirror/libs/mirror/test/classes_ct_03.cpp (original)
+++ sandbox/mirror/libs/mirror/test/classes_ct_03.cpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -37,75 +37,111 @@
//
//
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<0> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<0>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.a1)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<1> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<1>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.a2)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<2> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<2>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.a3)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<3> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<3>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.b1)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<4> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<4>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.b2)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<5> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<5>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.c1)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<6> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<6>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.c2)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<7> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<7>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.d1)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<8> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<8>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.d2)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<9> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<9>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.e)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<10> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<10>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.f1)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<11> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<11>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.f2)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<12> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<12>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.g1)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<13> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<13>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.g2)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<14> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<14>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.g3)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<15> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<15>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.h1)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<16> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<16>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.h2)
> ));
BOOST_MPL_ASSERT(( is_same<
- at<meta_H::all_attributes, mpl::int_<17> >::type::type *,
+ at<
+ meta_H::all_attributes, mpl::int_<17>
+ >::type::type::reflected_type *,
BOOST_TYPEOF(&h.h3)
> ));
}
Modified: sandbox/mirror/libs/mirror/test/classes_ct_04.cpp
==============================================================================
--- sandbox/mirror/libs/mirror/test/classes_ct_04.cpp (original)
+++ sandbox/mirror/libs/mirror/test/classes_ct_04.cpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -33,7 +33,10 @@
template <typename MetaAttribute>
struct get_attrib_type
{
- typedef typename MetaAttribute::type type;
+ typedef typename
+ MetaAttribute::
+ type::
+ reflected_type type;
};
void test_main()
Modified: sandbox/mirror/libs/mirror/test/classes_ct_05.cpp
==============================================================================
--- sandbox/mirror/libs/mirror/test/classes_ct_05.cpp (original)
+++ sandbox/mirror/libs/mirror/test/classes_ct_05.cpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -23,6 +23,7 @@
#include <boost/preprocessor/repetition/enum.hpp>
//
#include <boost/mirror/meta_class.hpp>
+#include <boost/mirror/meta_types/boost/mpl/int.hpp>
#include <boost/mirror/algorithm/accumulate.hpp>
#include <boost/mirror/meta_classes/boost/tuples/tuple.hpp>
//
@@ -33,7 +34,10 @@
template <typename MetaAttribute>
struct get_attrib_type
{
- typedef typename MetaAttribute::type type;
+ typedef typename
+ MetaAttribute::
+ type::
+ reflected_type type;
};
void test_main()
@@ -47,11 +51,14 @@
T t;
typedef BOOST_MIRRORED_CLASS(T) meta_T;
//
+ //
// define a forward op
- typedef mpl::lambda<mpl::push_back<
+ typedef mpl::lambda<
+ mpl::push_back<
mpl::_1,
get_attrib_type<mpl::_2>
- > >::type accumulate_op;
+ >
+ >::type accumulate_op;
//
// use the accumulate algorithm to get the typelist
typedef accumulate<
Modified: sandbox/mirror/libs/mirror/test/classes_ct_07.cpp
==============================================================================
--- sandbox/mirror/libs/mirror/test/classes_ct_07.cpp (original)
+++ sandbox/mirror/libs/mirror/test/classes_ct_07.cpp 2008-12-01 07:12:45 EST (Mon, 01 Dec 2008)
@@ -39,16 +39,21 @@
template <typename MetaAttribute>
struct get_attrib_type
{
- typedef typename MetaAttribute::type type;
+ typedef typename
+ MetaAttribute::
+ type::
+ reflected_type type;
};
template <typename MetaInheritance>
struct get_base_class
{
- typedef typename MetaInheritance::base_class type;
+ typedef typename
+ MetaInheritance::
+ base_class::
+ reflected_type type;
};
-
/** Checks whether the reflected attribute type list
* is equal to the hard coded
*/
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk